| url | No | Optional https URL to probe instead of discovery. need or url (or both) is required. | |
| need | No | What the caller wants routed (plain English). | |
| policy | No | Natural-language constraints compiled into structured values. Unresolved phrases are returned, never guessed. | |
| networks | No | Hard policy lock. Restricts discovery and selection to this set. A HTTP 200 winner must have selected_payment.network in this set from the CURRENT observed 402, never a catalog claim. Unlike prefer_network, this is not a ranking preference. | |
| objective | No | Best-of-N among currently probed eligible candidates, not every discovered endpoint. cheapest, fastest, and most_reliable rank that probed survivor set. fastest is this-request probe RTT, not settlement latency. fastest_settlement is a separate settlement/finality objective. lowest_total_cost fails closed when a fee is unknown. | |
| search_depth | No | standard: first 3 then expand 2-4 (typical cap 7). thorough may expand further. Hard server ceiling is 20. | |
| max_price_usd | No | Drop live hits whose known normalized USD exceeds this bound. Unknown USD fails closed. | |
| max_latency_ms | No | Compatibility alias for max_probe_latency_ms (this request's probe RTT). Unknown latency fails closed. | |
| prefer_network | No | Weak ranking preference only. Ranks this pay-in rail first but still searches and selects across all supported rails. Not a filter. Use networks for a hard policy lock. | |
| min_observations | No | Require history n_7d at least this large. Unknown or smaller fails closed. | |
| max_amount_atomic | No | Drop live hits whose known atomic amount exceeds this bound. Unknown or cross-asset amount fails closed. | |
| require_invocable | No | If true, drop live hits without an input schema. | |
| max_total_cost_usd | No | Merchant price plus known fees. Unknown fee fails closed. | |
| accept_payTo_change | No | If true, allow selecting a destination whose payTo just changed for the first time. Default false: the first unexpected payTo change is not selectable; a second later independent observation of the same destination can establish it. | |
| max_probe_latency_ms | No | Drop live hits whose known probe RTT exceeds this bound. Not historical service/p50 latency. | |
| min_observed_success | No | Require observed success_7d when n_7d >= 3. Unknown fails closed. | |
| min_reputation_score | No | Require V1 reputation_score. Unknown fails closed. Never guessed from vague NL. | |
| require_transparency | No | If true, paid /route fails when a signed checkpoint receipt cannot be produced. Default false: routing continues if signing or anchoring is down. | |
| max_service_latency_ms | No | Drop live hits whose historical p50 latency exceeds this bound. Unknown p50 fails closed. | |
| max_candidates_to_probe | No | Requested probe cap, hard-capped at 20. | |
| max_settlement_latency_ms | No | Settlement/finality bound. Not probe RTT. Unknown fails closed. | |
| min_reputation_confidence | No | Require reputation_confidence. n_7d < 10 is low confidence. | |