402Signal
Server Details
Fail-closed live-endpoint x402 router. POST /route, $0.01 USDC on Base, Solana, Algorand.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 81.2% over 40 days
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 3 tools
The three tools have genuinely distinct roles: preview discovers candidates free, validate does a free readiness probe of one already-listed URL, and check runs the paid live probe that returns a signed receipt. The overlap between validate and check (both probe a seller URL) is real but the descriptions draw an explicit boundary (free vs paid, listed vs unlisted, filters, receipt needed), so misselection is unlikely but not impossible.
All three names are bare lowercase verbs in a uniform style (check, preview, validate), so the set is internally consistent with no mixing of conventions. However, they deviate from the ideal verb_noun pattern and the verbs are generic enough that the names alone don't convey their object, with 'check' additionally carrying a legacy alias 'route'.
Three tools is well-scoped for a narrow pre-flight verification service, and each one (discover, free validate, paid check with receipt) earns its place. It is on the lean side, but not thin enough to be a mismatch given the deliberately limited domain.
The core lifecycle is fully covered: discover candidates, free readiness check, and paid signed observation before seller payment. A few minor gaps exist, such as no dedicated receipt-retrieval or post-billing reconciliation tool (the description tells the agent to 'stop and reconcile' with nothing to call), and paying the seller is intentionally out of scope.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
check2 fields changed- added
Input schema / properties / acceptance_sha256Added value: +{ + "description": "Optional SHA-256 of the buyer's acceptance contract (RFC 8785 canonical JSON), fixed before payment. With require_route_binding=true it is committed unchanged in the signed request, so the receipt covers the requirements the buyer set. The check never reads or evaluates it; the buyer assesses the seller's response locally.", + "maxLength": 64, + "minLength": 64, + "pattern": "^[0-9a-f]{64}$", + "type": "string" +} - added
Input schema / properties / networks / minItemsAdded value: +1
3 tool updates
- Changed
check1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "binding_unavailable", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "authorization_used", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "binding_unavailable", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + "mandate_mismatch", + "unsupported_hop_field", + null +]
- Changed
preview1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "binding_unavailable", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "authorization_used", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "binding_unavailable", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + "mandate_mismatch", + "unsupported_hop_field", + null +]
- Changed
validate1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "binding_unavailable", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "authorization_used", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "binding_unavailable", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + "mandate_mismatch", + "unsupported_hop_field", + null +]
2 tool updates
- Changed
check3 fields changed- changed
Input schema / properties / networks / items / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche", - "tempo" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo", + "sei", + "celo", + "robinhood" +] - changed
Input schema / properties / prefer_network / descriptionPrevious value: -"Weak ranking preference only. Ranks this seller network first but still searches and selects across all supported networks. Not a filter. Use networks for a hard policy lock. Observed networks: base, solana, algorand and the EVM chains polygon, arbitrum, monad, worldchain, xlayer, bnb, hyperevm, ethereum, optimism, avalanche (CAIP-2 ids such as eip155:137 are accepted); the checking fee itself is paid on base, solana or algorand."New value: +"Weak ranking preference only. Ranks this seller network first but still searches and selects across all supported networks. Not a filter. Use networks for a hard policy lock. Observed networks: base, solana, algorand and the EVM chains polygon, arbitrum, monad, worldchain, xlayer, bnb, hyperevm, ethereum, optimism, avalanche, tempo, sei, celo, robinhood (CAIP-2 ids such as eip155:137 are accepted); the checking fee itself is paid on base, solana or algorand." - changed
Input schema / properties / prefer_network / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche", - "tempo" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo", + "sei", + "celo", + "robinhood" +]
- Changed
preview3 fields changed- changed
Input schema / properties / networks / items / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche", - "tempo" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo", + "sei", + "celo", + "robinhood" +] - changed
Input schema / properties / prefer_network / descriptionPrevious value: -"Weak ranking preference only. Ranks this seller network first but still searches and selects across all supported networks. Not a filter. Use networks for a hard policy lock. Observed networks: base, solana, algorand and the EVM chains polygon, arbitrum, monad, worldchain, xlayer, bnb, hyperevm, ethereum, optimism, avalanche (CAIP-2 ids such as eip155:137 are accepted); the checking fee itself is paid on base, solana or algorand."New value: +"Weak ranking preference only. Ranks this seller network first but still searches and selects across all supported networks. Not a filter. Use networks for a hard policy lock. Observed networks: base, solana, algorand and the EVM chains polygon, arbitrum, monad, worldchain, xlayer, bnb, hyperevm, ethereum, optimism, avalanche, tempo, sei, celo, robinhood (CAIP-2 ids such as eip155:137 are accepted); the checking fee itself is paid on base, solana or algorand." - changed
Input schema / properties / prefer_network / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche", - "tempo" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo", + "sei", + "celo", + "robinhood" +]
2 tool updates
- Changed
check16 fields changed- added
Output schema / properties / claimed / properties / amount / descriptionAdded value: +"The price the catalog listing claimed, as of claimed_at." - added
Output schema / properties / claimed / properties / claimed_atAdded value: +{ + "description": "When the discovery feed last presented these claimed values for this URL.", + "type": [ + "string", + "integer", + "null" + ] +} - added
Output schema / properties / claimed / properties / facilitatorAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / claimed / properties / payTo / descriptionAdded value: +"The recipient the catalog listing claimed, as of claimed_at. Compare with observed.payTo." - added
Output schema / properties / claimed_payTo_matchAdded value: +{ + "description": "Whether observed.payTo equals claimed.payTo, compared per rail (case-insensitive on EVM). False on a mismatch; null when either side is unknown. Independent of payTo_pending, which judges against 402Signal's own observation history.", + "type": [ + "boolean", + "null" + ] +} - added
Output schema / properties / observedAdded value: +{ + "description": "What 402Signal itself observed in the seller's live 402 challenge at verified_at (402signal_observed rows, trusted classes only). This side, not the catalog claim, is what a buyer pays.", + "properties": { + "amount": { + "description": "Price in the observed challenge at verified_at.", + "type": [ + "string", + "null" + ] + }, + "http_status": { + "type": [ + "integer", + "null" + ] + }, + "invocable": { + "type": [ + "boolean", + "integer", + "null" + ] + }, + "latency_ms": { + "type": [ + "integer", + "null" + ] + }, + "observed_at": { + "description": "When that observation was made.", + "type": [ + "string", + "integer", + "null" + ] + }, + "payTo": { + "description": "Recipient in the observed challenge at verified_at.", + "type": [ + "string", + "null" + ] + }, + "payable": { + "type": [ + "boolean", + "integer", + "null" + ] + }, + "schema_present": { + "type": [ + "boolean", + "integer", + "null" + ] + } + }, + "type": "object" +} - added
Output schema / properties / observed_age_sAdded value: +{ + "description": "Seconds since observed.observed_at.", + "type": [ + "integer", + "null" + ] +} - added
Output schema / properties / payToAdded value: +{ + "description": "Recipient of the selected offer as observed in the live challenge.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / payTo_age_sAdded value: +{ + "description": "Seconds since the last observed recipient change for this URL, when one is recorded.", + "type": [ + "integer", + "null" + ] +} - added
Output schema / properties / payTo_changedAdded value: +{ + "description": "True when the observed payTo (the live challenge at verified_at) differs from the catalog claim (claimed.payTo at claimed_at) or from the last trusted destination 402Signal itself observed for this URL. Compare claimed.payTo with observed.payTo; the observed side is the one a buyer would pay.", + "type": "boolean" +} - added
Output schema / properties / payTo_pendingAdded value: +{ + "description": "First unexpected rotation of the observed payTo against 402Signal's own previous trusted observation of this URL, judged on that history alone (an updated catalog claim does not clear it). Not selectable unless accept_payTo_change is true; a second independent observation of the same destination establishes it.", + "type": "boolean" +} - added
Output schema / properties / readinessAdded value: +{ + "enum": [ + "discovered", + "payable", + "invocable", + "recently_verified" + ], + "type": "string" +} - added
Output schema / properties / reputation / descriptionAdded value: +"Transparent components first (observed, usage, tenure, stability, source_count), then V2 reputation_score, reputation_confidence, and scoring_model_id/hash. Score is never returned without components. No public 0-100 catalog badge. Unique payer addresses are never listed." - added
Output schema / properties / reputation / propertiesAdded value: +{ + "stability": { + "description": "Observed changes to this URL's terms (402signal_observed, not catalog claims): a change is a live challenge whose recipient, price, schema or rail differed from the previous trusted observation of the same URL.", + "properties": { + "payTo_changes": { + "properties": { + "changed_at": { + "description": "RFC3339 time of the last observed change, or null.", + "type": [ + "string", + "null" + ] + }, + "count": { + "description": "Observed changes in the window; null when unknown.", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "price_changes": { + "properties": { + "changed_at": { + "description": "RFC3339 time of the last observed change, or null.", + "type": [ + "string", + "null" + ] + }, + "count": { + "description": "Observed changes in the window; null when unknown.", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "rail_changes": { + "properties": { + "changed_at": { + "description": "RFC3339 time of the last observed change, or null.", + "type": [ + "string", + "null" + ] + }, + "count": { + "description": "Observed changes in the window; null when unknown.", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + }, + "schema_changes": { + "properties": { + "changed_at": { + "description": "RFC3339 time of the last observed change, or null.", + "type": [ + "string", + "null" + ] + }, + "count": { + "description": "Observed changes in the window; null when unknown.", + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "type": "object" + } +} - added
Output schema / properties / riskAdded value: +{ + "description": "Omitted or empty when none. [\"payTo_changed\"] whenever payTo_changed is true.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / verified_atAdded value: +{ + "description": "When the observed live challenge was taken.", + "type": [ + "string", + "null" + ] +}
- Changed
validate4 fields changed- added
Output schema / properties / claimed / properties / amount / descriptionAdded value: +"The price the catalog listing claimed, as of claimed_at." - added
Output schema / properties / claimed / properties / claimed_atAdded value: +{ + "description": "When the discovery feed last presented these claimed values for this URL.", + "type": [ + "string", + "integer", + "null" + ] +} - added
Output schema / properties / claimed / properties / facilitatorAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / claimed / properties / payTo / descriptionAdded value: +"The recipient the catalog listing claimed, as of claimed_at. Compare with observed.payTo."
1 tool update
- Removed
route
4 tool updates
- Changed
check1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "authorization_used", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "binding_unavailable", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
- Changed
preview1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "authorization_used", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "binding_unavailable", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
- Changed
route1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "authorization_used", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "binding_unavailable", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
- Changed
validate1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "authorization_used", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "binding_unavailable", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
2 tool updates
- Changed
check1 field changed- changed
Output schema / properties / billing / descriptionPrevious value: -"402Signal routing-fee outcome. Seller payment is separate."New value: +"402Signal checking-fee outcome. Seller payment is separate."
- Changed
route1 field changed- changed
Output schema / properties / billing / descriptionPrevious value: -"402Signal routing-fee outcome. Seller payment is separate."New value: +"402Signal checking-fee outcome. Seller payment is separate."
4 tool updates
- Changed
check3 fields changed- changed
Input schema / properties / networks / items / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo" +] - changed
Input schema / properties / prefer_network / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo" +] - changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
- Changed
preview3 fields changed- changed
Input schema / properties / networks / items / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo" +] - changed
Input schema / properties / prefer_network / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo" +] - changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
- Changed
route3 fields changed- changed
Input schema / properties / networks / items / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo" +] - changed
Input schema / properties / prefer_network / enumPrevious value: -[ - "base", - "solana", - "algorand", - "polygon", - "arbitrum", - "monad", - "worldchain", - "xlayer", - "bnb", - "hyperevm", - "ethereum", - "optimism", - "avalanche" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche", + "tempo" +] - changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
- Changed
validate1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - "invalid_session_shape", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "authorization_used", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
3 tool updates
- Changed
check5 fields changed- changed
Input schema / properties / networks / items / enumPrevious value: -[ - "base", - "solana", - "algorand" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche" +] - changed
Input schema / properties / prefer_network / descriptionPrevious value: -"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."New value: +"Weak ranking preference only. Ranks this seller network first but still searches and selects across all supported networks. Not a filter. Use networks for a hard policy lock. Observed networks: base, solana, algorand and the EVM chains polygon, arbitrum, monad, worldchain, xlayer, bnb, hyperevm, ethereum, optimism, avalanche (CAIP-2 ids such as eip155:137 are accepted); the checking fee itself is paid on base, solana or algorand." - changed
Input schema / properties / prefer_network / enumPrevious value: -[ - "base", - "solana", - "algorand" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche" +] - changed
Output schema / properties / pq_trust / properties / transparency / properties / state / enumPrevious value: -[ - "logged_uncheckpointed", - "checkpoint_signed", - "authorized", - "submitted", - "confirmed", - "unavailable" -]New value: +[ + "outbox_queued", + "logged_uncheckpointed", + "checkpoint_signed", + "authorized", + "submitted", + "confirmed", + "unavailable" +] - changed
Output schema / properties / pq_trust / properties / transparency / properties / status / enumPrevious value: -[ - "pending", - "logged_uncheckpointed", - "unavailable" -]New value: +[ + "pending", + "queued", + "logged_uncheckpointed", + "unavailable" +]
- Changed
preview3 fields changed- changed
Input schema / properties / networks / items / enumPrevious value: -[ - "base", - "solana", - "algorand" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche" +] - changed
Input schema / properties / prefer_network / descriptionPrevious value: -"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."New value: +"Weak ranking preference only. Ranks this seller network first but still searches and selects across all supported networks. Not a filter. Use networks for a hard policy lock. Observed networks: base, solana, algorand and the EVM chains polygon, arbitrum, monad, worldchain, xlayer, bnb, hyperevm, ethereum, optimism, avalanche (CAIP-2 ids such as eip155:137 are accepted); the checking fee itself is paid on base, solana or algorand." - changed
Input schema / properties / prefer_network / enumPrevious value: -[ - "base", - "solana", - "algorand" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche" +]
- Changed
route5 fields changed- changed
Input schema / properties / networks / items / enumPrevious value: -[ - "base", - "solana", - "algorand" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche" +] - changed
Input schema / properties / prefer_network / descriptionPrevious value: -"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."New value: +"Weak ranking preference only. Ranks this seller network first but still searches and selects across all supported networks. Not a filter. Use networks for a hard policy lock. Observed networks: base, solana, algorand and the EVM chains polygon, arbitrum, monad, worldchain, xlayer, bnb, hyperevm, ethereum, optimism, avalanche (CAIP-2 ids such as eip155:137 are accepted); the checking fee itself is paid on base, solana or algorand." - changed
Input schema / properties / prefer_network / enumPrevious value: -[ - "base", - "solana", - "algorand" -]New value: +[ + "base", + "solana", + "algorand", + "polygon", + "arbitrum", + "monad", + "worldchain", + "xlayer", + "bnb", + "hyperevm", + "ethereum", + "optimism", + "avalanche" +] - changed
Output schema / properties / pq_trust / properties / transparency / properties / state / enumPrevious value: -[ - "logged_uncheckpointed", - "checkpoint_signed", - "authorized", - "submitted", - "confirmed", - "unavailable" -]New value: +[ + "outbox_queued", + "logged_uncheckpointed", + "checkpoint_signed", + "authorized", + "submitted", + "confirmed", + "unavailable" +] - changed
Output schema / properties / pq_trust / properties / transparency / properties / status / enumPrevious value: -[ - "pending", - "logged_uncheckpointed", - "unavailable" -]New value: +[ + "pending", + "queued", + "logged_uncheckpointed", + "unavailable" +]
1 tool update
- Added
check
1 tool update
- Changed
route4 fields changed- removed
Output schema / properties / billing / properties / amount_atomic / constRemoved value: -"3000" - added
Output schema / properties / billing / properties / amount_atomic / enumAdded value: +[ + "3000", + "5000" +] - removed
Output schema / properties / billing / properties / display_amount / constRemoved value: -"$0.003" - added
Output schema / properties / billing / properties / display_amount / enumAdded value: +[ + "$0.003", + "$0.005" +]
3 tool updates
- Changed
preview1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
- Changed
route1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
- Changed
validate1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - "window_spent", - "fingerprint_miss", - "scheme_mismatch", - "network_mismatch", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + "invalid_session_shape", + null +]
3 tool updates
- Changed
preview1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + null +]
- Changed
route1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + null +]
- Changed
validate1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "unlisted", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + "window_spent", + "fingerprint_miss", + "scheme_mismatch", + "network_mismatch", + null +]
3 tool updates
- Changed
preview1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + null +]
- Changed
route1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + null +]
- Changed
validate1 field changed- changed
Output schema / properties / miss_reason / enumPrevious value: -[ - "no_candidates", - "no_402_envelope", - "no_payto", - "reachable_200", - "probe_timeout", - "quote_expired", - "invalid_need", - "upstream_5xx", - "ssrf", - "no_input_schema", - "constraints_unmet", - "probe_budget_exhausted", - "probe_limit_reached", - "unsafe_to_probe", - "settlement_unknown", - "probe_capacity", - null -]New value: +[ + "no_candidates", + "no_402_envelope", + "no_payto", + "reachable_200", + "probe_timeout", + "quote_expired", + "invalid_need", + "upstream_5xx", + "ssrf", + "unlisted", + "no_input_schema", + "constraints_unmet", + "probe_budget_exhausted", + "probe_limit_reached", + "unsafe_to_probe", + "settlement_unknown", + "probe_capacity", + null +]
1 tool update
- Changed
route3 fields changed- changed
Input schema / properties / require_route_binding / descriptionPrevious value: -"Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. If the ranked winner cannot bind, the router may fall through to the next already-probed selectable candidate that can; there is no unguarded settle. HTTP 503 route_binding_unavailable only when none remain bindable (a free typed miss). Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding"New value: +"Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. If the ranked winner cannot bind, the router may fall through to the next already-probed selectable candidate that can; there is no unguarded settle. HTTP 503 route_binding_unavailable only when none remain bindable (a free typed miss). wrapExactAuthorize reports state=binding_unavailable with keep_calling_route true; that is policy working, not a crash. Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding" - changed
Output schema / properties / binding_error / descriptionPrevious value: -"HTTP 503 when require_route_binding is true and no remaining already-probed selectable candidate could bind."New value: +"HTTP 503 when require_route_binding is true and no remaining already-probed selectable candidate could bind. Policy working, not a crash; wrapExactAuthorize reports state=binding_unavailable with keep_calling_route true." - changed
Output schema / properties / decision_binding / descriptionPrevious value: -"Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. If the ranked winner cannot bind, the router may fall through to the next already-probed selectable candidate that can; there is no unguarded settle. HTTP 503 route_binding_unavailable only when none remain bindable (a free typed miss). Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding"New value: +"Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. If the ranked winner cannot bind, the router may fall through to the next already-probed selectable candidate that can; there is no unguarded settle. HTTP 503 route_binding_unavailable only when none remain bindable (a free typed miss). wrapExactAuthorize reports state=binding_unavailable with keep_calling_route true; that is policy working, not a crash. Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding"
1 tool update
- Changed
route4 fields changed- changed
Input schema / properties / require_route_binding / descriptionPrevious value: -"Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. Unprovable binding is a free typed miss. Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding"New value: +"Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. If the ranked winner cannot bind, the router may fall through to the next already-probed selectable candidate that can; there is no unguarded settle. HTTP 503 route_binding_unavailable only when none remain bindable (a free typed miss). Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding" - added
Output schema / properties / binding_error / descriptionAdded value: +"HTTP 503 when require_route_binding is true and no remaining already-probed selectable candidate could bind." - added
Output schema / properties / compared / descriptionAdded value: +"Slim probe rows. selectable, payTo_pending, payTo_changed, risk and excluded_reason show why a live row was not eligible. excluded_reason binding_unavailable marks a skipped binding failure." - changed
Output schema / properties / decision_binding / descriptionPrevious value: -"Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. Unprovable binding is a free typed miss. Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding"New value: +"Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. If the ranked winner cannot bind, the router may fall through to the next already-probed selectable candidate that can; there is no unguarded settle. HTTP 503 route_binding_unavailable only when none remain bindable (a free typed miss). Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding"
1 tool update
- Changed
route1 field changed- changed
Input schema / properties / require_invocable / descriptionPrevious value: -"If true, drop live hits without an input schema."New value: +"If true, drop live hits without an input schema. An explicit empty-object schema (type object, no properties or required fields) advertises no required inputs and counts as present. A bazaar HTTP GET with empty queryParams and no required body is the same signal. It does not guarantee the seller call succeeds. Absent or refused schema is not invocable."
2 tool updates
- Changed
route3 fields changed- changed
Output schema / properties / claimed / properties / contract / properties / client_warning / descriptionPrevious value: -"Seller inputSchema/outputSchema values are catalog_claimed and untrusted. Do not concatenate them into system prompts. Do not fetch remote $ref."New value: +"Seller inputSchema/outputSchema values are catalog_claimed and untrusted. Do not concatenate them into system prompts. Do not fetch remote $ref. Unsafe remote schema material is refused, not rewritten as a different offer." - changed
Output schema / properties / target / properties / inputSchema / descriptionPrevious value: -"Seller inputSchema/outputSchema values are catalog_claimed and untrusted. Do not concatenate them into system prompts. Do not fetch remote $ref."New value: +"Seller inputSchema/outputSchema values are catalog_claimed and untrusted. Do not concatenate them into system prompts. Do not fetch remote $ref. Unsafe remote schema material is refused, not rewritten as a different offer." - changed
Output schema / properties / target / properties / outputSchema / descriptionPrevious value: -"Seller inputSchema/outputSchema values are catalog_claimed and untrusted. Do not concatenate them into system prompts. Do not fetch remote $ref."New value: +"Seller inputSchema/outputSchema values are catalog_claimed and untrusted. Do not concatenate them into system prompts. Do not fetch remote $ref. Unsafe remote schema material is refused, not rewritten as a different offer."
- Changed
validate1 field changed- changed
Output schema / properties / claimed / properties / contract / properties / client_warning / descriptionPrevious value: -"Seller inputSchema/outputSchema values are catalog_claimed and untrusted. Do not concatenate them into system prompts. Do not fetch remote $ref."New value: +"Seller inputSchema/outputSchema values are catalog_claimed and untrusted. Do not concatenate them into system prompts. Do not fetch remote $ref. Unsafe remote schema material is refused, not rewritten as a different offer."
Related MCP Connectors
72 x402 endpoints: trading, AI inference, blockchain, escrow. USDC on Base+Solana.
24 NEAR + Solana + Base blockchain endpoints with x402 USDC micropayments
x402 gateway: AI agents pay USDC on Base to flip coins (Chainlink VRF, streaks win pots).
Paid Solana token safety checks over Streamable HTTP MCP (x402 USDC on Solana + Base).
Related MCP Servers
AlicenseAqualityAmaintenanceChecks live x402 routes across Base, Solana, and Algorand before agents spend. $0.003 USDC settles only for a valid live eligible route; normal typed misses are not settled. Free preview and validate tools. Seller payment is separate; the agent keeps its wallet. Optional signed route-binding receipts support buyer-side checks.3MIT- AlicenseNot gradedqualityCmaintenanceFinds best cross-chain bridge routes across 60+ chains and 18+ bridges, comparing fees and time, with pay-per-call via x402 USDC micropayments.MIT
- AlicenseNot gradedqualityCmaintenanceGet the best swap quotes across Uniswap, SushiSwap, Aerodrome with pay-per-call via x402 (USDC on Base).MIT
- AlicenseAqualityDmaintenanceMCP server providing cross-chain swaps between Solana and Base for AI agents paid for via x402 micropayments.344 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.