{"descriptor_schema":"RECTA_SERVICE_DESCRIPTOR_V1","service":{"name":"recta-commercial-evaluation","contract_version":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23","api_version":"1.0"},"operational_status":{"state":"READY","reason":null,"pending_decisions":[],"policy_assurance":"PRODUCTION_APPROVED"},"commercial_availability":{"state":"AVAILABLE","reasons":["Any EVM sender that signs its requests can evaluate; an evaluation is free.","Executing a decision needs its fee authorization first (fee_collection): an x402 `upto` payment (HTTP 402 with PAYMENT-REQUIRED on the execution artifact) or the same Permit2 terms posted. The fee is exactly 5 % of the saving Recta verifies on chain after execution, and 0 without one, settled later. Whether a fee has been collected shows in the payer's ledger (`charged`)."]},"access":{"mode":"SIGNED_SENDER","headers":{"signer":"x-recta-signer","issued_at":"x-recta-issued-at","signature":"x-recta-signature","signer_chain":"x-recta-signer-chain","sign_in_with_x":"SIGN-IN-WITH-X"},"signature":"EIP-191 personal_sign, by the EVM key of the sender, of the lines \"Recta signed request v1\", \"method: <METHOD>\", \"path: <path and query>\", \"idempotency-key: <the Idempotency-Key header, or empty>\", \"body-keccak256: <0x keccak256 of the exact body bytes, lowercase>\", \"issued-at: <unix seconds>\", joined by \n. No API key or account is issued. A smart account (ERC-1271, or ERC-6492 before deployment) also sends \"x-recta-signer-chain: 8453\" (for now only on Base: its source_network must be base, where its fee is also collected; the same address on another chain may be another owner's account) and signs, through its owner, the lines \"Recta signed request v2\", \"signer: <the account's address, lowercase>\", \"chain-id: 8453\", then the same five lines; Recta asks the account on Base (one eth_call of the ERC-6492 universal validator) and answers 503 SENDER_SIGNATURE_UNVERIFIABLE (retryable) when the chain does not answer. Its fee permit is checked by ERC-1271 on the collection network, as Permit2 checks it: the account must be deployed there (503 SIGNATURE_UNVERIFIABLE, retryable, when that network does not answer).","sign_in_with_x":"Wallets that sign x402 Sign-In-With-X (EIP-4361 / SIWE) messages can sign the same request that way instead: send it unsigned (body within the size limit), and the 401 carries `sign_in_with_x` with the challenge for that exact request (`info`) and, when the body names an EVM `sender`, the exact text that sender signs (`message_to_sign`) and the payload to send (`payload_without_signature`). Sign the text with EIP-191 personal_sign within 300 s, add `signature` to the payload, and resend the same request (same URL, Idempotency-Key and body bytes) with the header `SIGN-IN-WITH-X: <base64 of the JSON payload>`, the payload format of `@x402/extensions`. The message binds the method, URL, Idempotency-Key and body hash, Base (chain id 8453) and a 5-minute window, so it proves exactly what the text signature proves. A smart account signs it through its owner and is checked on Base by ERC-1271 (its `source_network` must then be `base`).","max_skew_seconds":300,"sender_must_be_signer":"An evaluation's `sender` must be the signing address, and a smart account's signer chain the chain of its `source_network` (422 SENDER_NOT_SIGNER otherwise). A smart account's execution may be sent as an ERC-4337 user operation or a call to the account: the account itself must transfer exactly the committed amount of the input token.","unauthorized":"Without the signature headers, HTTP 401 SENDER_SIGNATURE_REQUIRED (an unsigned evaluation POST also carries the free trial's answer in free_trial_result; each such 401 also carries the Sign-In-With-X challenge of that request in sign_in_with_x when its body is within the size limit); 401 SENDER_* when a signature does not authenticate the request.","scope":"Idempotency keys, result ids, execution artifacts and ledger rows are scoped to the signing sender."},"limits":{"max_body_bytes":4096,"requests_per_window":{"max_requests_per_window":30,"window_ms":60000},"captures_per_window":{"max_requests_per_window":6,"window_ms":60000},"captures_per_day":{"max_requests_per_window":200,"window_ms":86400000},"concurrent_captures":2,"scope":"per isolate"},"endpoints":{"evaluate":{"method":"POST","path":"/v1/golden-corridor/commercial-evaluations","content_type":"application/json","headers":{"Idempotency-Key":{"required":true,"pattern":"^[A-Za-z0-9._:-]{1,255}$","semantics":"One decision per key: the same key and request returns the stored decision without new work; the same key with another request is IDEMPOTENCY_CONFLICT."}},"request_schema":"urn:recta:commercial-evaluation:v12:request","responses":{"200":"urn:recta:commercial-evaluation:v12:decision-response","400":"urn:recta:commercial-evaluation:v12:validation-error","409":"urn:recta:commercial-evaluation:v12:operational-error","413":"urn:recta:commercial-evaluation:v12:validation-error","422":"urn:recta:commercial-evaluation:v12:validation-error","429":"urn:recta:commercial-evaluation:v12:operational-error","500":"urn:recta:commercial-evaluation:v12:operational-error","503":"urn:recta:commercial-evaluation:v12:operational-error"},"replayed_header":"x-commercial-evaluation-replayed","responses_200_alternatives":["urn:recta:commercial-evaluation:v12:no-search-response"]},"result":{"method":"GET","path_template":"/v1/golden-corridor/commercial-evaluations/{result_id}","result_id_pattern":"^[A-Za-z0-9_-]+$","responses":{"200":"urn:recta:commercial-evaluation:v12:decision-response","404":"urn:recta:commercial-evaluation:v12:operational-error","429":"urn:recta:commercial-evaluation:v12:operational-error","500":"urn:recta:commercial-evaluation:v12:operational-error","503":"urn:recta:commercial-evaluation:v12:operational-error"}},"descriptor":{"method":"GET","path":"/v1/golden-corridor/commercial-evaluations/schema"}},"corridors":[{"source_network":"ethereum","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDT","destination_network":"arbitrum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDT","destination_network":"ethereum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDT","destination_network":"polygon","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDT","destination_network":"arbitrum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDT","destination_network":"unichain","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDT","destination_network":"arbitrum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDT","destination_network":"ethereum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDT","destination_network":"polygon","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDT","destination_network":"unichain","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDT","destination_network":"ethereum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDT","destination_network":"unichain","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDT","destination_network":"polygon","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDT","destination_network":"ink","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDT","destination_network":"ethereum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDT","destination_network":"ink","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDT","destination_network":"arbitrum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDT","destination_network":"ink","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDT","destination_network":"polygon","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDT","destination_network":"ink","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDT","destination_network":"unichain","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDG","destination_network":"robinhood_chain","destination_asset":"USDG","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"solana_mainnet","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"solana_mainnet","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"solana_mainnet","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"solana_mainnet","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"solana_mainnet","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"solana_mainnet","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"solana_mainnet","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"tron_mainnet","source_asset":"USDT","destination_network":"arbitrum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"bitcoin_l1","source_asset":"BTC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"0.0005","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"bnb_chain","destination_asset":"USDC_BINANCE_PEG","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"bnb_chain","destination_asset":"USDC_BINANCE_PEG","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"bnb_chain","destination_asset":"USDC_BINANCE_PEG","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"bnb_chain","destination_asset":"USDC_BINANCE_PEG","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"bnb_chain","destination_asset":"USDC_BINANCE_PEG","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"solana_mainnet","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"solana_mainnet","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"solana_mainnet","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"solana_mainnet","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"solana_mainnet","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"tron_mainnet","source_asset":"USDT","destination_network":"ethereum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"tron_mainnet","source_asset":"USDT","destination_network":"polygon","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"bnb_chain","source_asset":"USDC_BINANCE_PEG","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"bnb_chain","source_asset":"USDC_BINANCE_PEG","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"bnb_chain","source_asset":"USDC_BINANCE_PEG","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"bnb_chain","source_asset":"USDC_BINANCE_PEG","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"bnb_chain","source_asset":"USDC_BINANCE_PEG","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDT","destination_network":"optimism","destination_asset":"USDT_OP_BRIDGED","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDT_OP_BRIDGED","destination_network":"ethereum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDT","destination_network":"optimism","destination_asset":"USDT_OP_BRIDGED","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDT_OP_BRIDGED","destination_network":"arbitrum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDT","destination_network":"optimism","destination_asset":"USDT_OP_BRIDGED","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDT_OP_BRIDGED","destination_network":"polygon","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDT","destination_network":"bnb_chain","destination_asset":"USDT_BINANCE_PEG","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"bnb_chain","source_asset":"USDT_BINANCE_PEG","destination_network":"ethereum","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ethereum","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"ethereum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"arbitrum","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"base","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"optimism","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"optimism","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"polygon","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"polygon","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"linea","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"linea","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arc","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"arc","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"unichain","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"unichain","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"ink","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"ink","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"avalanche","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"avalanche","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"hyperevm","source_asset":"USDC","destination_network":"monad","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"monad","source_asset":"USDC","destination_network":"hyperevm","destination_asset":"USDC","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"arbitrum","source_asset":"USDT","destination_network":"tron_mainnet","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}},{"source_network":"base","source_asset":"USDC","destination_network":"tron_mainnet","destination_asset":"USDT","amount":{"unit":"whole tokens of the source asset (decimal string, not atomic units)","min":"3.5","max":null}}],"providers":[{"key":"across","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":null,"inadmissibility":null,"destinations":null,"assets":null,"from_solana":false,"from_tron":true,"from_bitcoin":false},{"key":"cctp_v2_standard","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":"DESTINATION_EXECUTION_AUTHORITY_DECLARED","inadmissibility":null,"destinations":null,"assets":null,"from_solana":true,"from_tron":false,"from_bitcoin":false},{"key":"cctp_v2_fast","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":"DESTINATION_EXECUTION_AUTHORITY_DECLARED","inadmissibility":null,"destinations":null,"assets":null,"from_solana":true,"from_tron":false,"from_bitcoin":false},{"key":"stargate_v2","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":null,"inadmissibility":null,"destinations":null,"assets":null,"from_solana":false,"from_tron":false,"from_bitcoin":false},{"key":"relay","acquired_by_this_service":false,"commercially_admissible":false,"admissibility_condition":null,"inadmissibility":"PROVIDER_ATTESTED_FLOOR","destinations":null,"assets":null,"from_solana":false,"from_tron":false,"from_bitcoin":false},{"key":"usdt0","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":null,"inadmissibility":null,"destinations":null,"assets":["USDT"],"from_solana":false,"from_tron":true,"from_bitcoin":false},{"key":"usdg_oft","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":null,"inadmissibility":null,"destinations":null,"assets":["USDG"],"from_solana":false,"from_tron":false,"from_bitcoin":false},{"key":"debridge_dln","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":null,"inadmissibility":null,"destinations":["solana_mainnet","tron_mainnet"],"assets":null,"from_solana":true,"from_tron":true,"from_bitcoin":false},{"key":"lifi","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":null,"inadmissibility":null,"destinations":["ethereum","arbitrum","base","optimism","polygon","avalanche","linea","unichain","ink","hyperevm","monad"],"assets":["USDC","USDT"],"from_solana":false,"from_tron":false,"baseline_only":true,"origins":["ethereum","arbitrum","base","optimism","polygon","avalanche","linea","unichain","ink","hyperevm","monad"],"from_bitcoin":false},{"key":"thorchain","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":null,"inadmissibility":null,"destinations":["ethereum"],"assets":["BTC"],"from_solana":false,"from_tron":false,"from_bitcoin":true},{"key":"chainflip","acquired_by_this_service":true,"commercially_admissible":true,"admissibility_condition":null,"inadmissibility":null,"destinations":["ethereum"],"assets":["BTC"],"from_solana":false,"from_tron":false,"from_bitcoin":true}],"baseline":{"required":true,"field":"baseline_provider","admissible":["across","stargate_v2","usdt0","usdg_oft","debridge_dln","lifi","thorchain","chainflip"],"admissible_with_destination_execution_authority":["cctp_v2_standard","cctp_v2_fast"],"semantics":"The agent's declared counterfactual, priced by Recta itself at the same source state. It is not necessarily the best available price; an inadmissible baseline is refused 422 BASELINE_INADMISSIBLE before any work.","artifact":{"field":"baseline_artifact","slots":["across","cctp_v2_fast","cctp_v2_standard","lifi","stargate_v2"],"source_family":"EVM","semantics":"The transaction the agent would sign instead, decoded and simulated at Q, for exactly this transfer and from the sender. CCTP burns (standard and fast) and Stargate sends are accepted under any latency_class; an Across deposit only with SECONDS or MINUTES on a route where its fast fill bounds it; LI.FI's transaction (its quote's transactionRequest) under ANY or FINALITY_BOUND, with at most LI.FI's public 0.25 % fee. Its floor never inflates the saving: the cost side is the protocol's own quote at Q, or for LI.FI what its calldata sends to the bridge."}},"admission":{"composed":true,"abstention":{"http_status":200,"schema":"urn:recta:commercial-evaluation:v12:no-search-response"},"semantics":"Before searching, Recta may answer NO_SEARCH_EXPECTED_ZERO when its recorded decisions for the same corridor, constraints, amount order, slot baseline and decision rules rarely demonstrated a saving, or when that corridor is dormant because its last two weekly recaptures read no saving (amounts up to 2500 only; one recapture with a saving wakes it). A baseline artifact, a corridor or baseline without recorded samples, and a transfer that starts outside an EVM network always search; a share of abstentions is searched anyway to audit the gate. Nothing is stored or charged."},"fee_collection":{"network":"base","token":"native USDC","mechanism":"x402 v2, scheme upto, on Base (eip155:8453): a Permit2 permitWitnessTransferFrom permit with witness Witness(address to,address facilitator,uint256 validAfter), spender x402's upto proxy (0x4020a4f3b7b90cca423b9fabcc0ce57c6c240002), to = the owner's address (payTo), facilitator = Recta's sender (extra.facilitatorAddress). The proxy lets only the facilitator settle, never more than the signed amount, and only to `to`: no key of Recta can send your USDC anywhere else. Signing moves nothing and costs no gas.","x402":"The execution artifact answers HTTP 402 with the PAYMENT-REQUIRED header (and body.x402): one upto requirement whose amount is the ceiling below. A standard x402 client signs it and repeats the GET with PAYMENT-SIGNATURE; the answer is the artifact. Settlement is not at the end of that request: Recta settles later, exactly the verified 5 % (0 without a saving). extra.nonce is Recta's proposed Permit2 nonce: signing it keeps your batch on one nonce, so the chain itself allows only one settlement of it; a wallet that signs another nonce is accepted and Recta's own accounting settles the batch once.","charge":"Exactly 5 % of the saving Recta verifies on chain after execution (floor, in USDC atomic units), and 0 when there is none. Never charged before the saving is verified; no prepayment, no credit.","fields":{"max_fee_authorization_usdc_atomic":"The CEILING of what this decision can add to the charge: 5 % of the largest saving the verification formula can give for it. It is not the charge and not a percentage of the transfer: the charge is 5 % of the verified saving and may be 0.","expected_fee_usdc_atomic":"5 % of defensible_vos_lb_usdc_atomic, the guaranteed minimum saving: the realistic charge for a conforming execution.","carried_usdc_atomic":"What the sender's earlier, not yet collected decisions can still owe at most; the permit's amount is max_fee_authorization plus carried, and Recta proposes one Permit2 nonce shared by those decisions (permit.nonce, extra.nonce), so one pull collects them all and none is pulled twice."},"accumulation":"Small fees accumulate under one nonce and are pulled together once they reach 10 × the cost of one pull, or after 30 days.","routes":{"authorization":{"offered_in":"GET /v1/golden-corridor/commercial-evaluations/{result_id}/execution-artifact (HTTP 402, status SIGNATURE_REQUIRED, fee_authorization, PAYMENT-REQUIRED)","submit":"Either the same GET again with the x402 PAYMENT-SIGNATURE header, or POST /v1/golden-corridor/commercial-evaluations/{result_id}/fee-authorization with { signature } of fee_authorization.typed_data (or an x402 upto PaymentPayload)","when":"Before executing the decision: the committed transactions are delivered only once the authorization is stored (in the POST's answer, and by the artifact route afterwards). An executed decision cannot be authorized afterwards (409 ALREADY_EXECUTED) and its fee becomes a debt."},"debt":{"offered_in":"the 402 PAYMENT_REQUIRED of a new evaluation (debt_offer), and the payer's own ledger (fee_standing.debt_offer)","submit":"POST /v1/golden-corridor/fee-debts"},"pending":"A batch pull refused for more than a day while an earlier send of it may still land refuses new evaluations too (402 FEE_COLLECTION_PENDING, debt null, nothing to sign) until the pull lands or its permit lapses into a debt.","ledger":"GET /v1/golden-corridor/commercial-accruals/{payer}: each verified fee with `charged` and its `collection` (state, BATCH or DEBT, transaction). Read by the payer itself (signed), also `fee_standing`: { kind, blocking (whether new evaluations are refused), debt_offer (the permit to sign when it owes, or null) }.","recta_caused":"A batch Recta did not pull before its permit's deadline (PERMIT_LAPSED: Recta's collection did not run in time; you did nothing wrong) is still owed, as a debt you may pay with the offered permit, but it never refuses new evaluations. The same holds for a pull Recta's operator closed as Recta's fault: its items are offered again, once, for the same amount. A signed debt whose permit merely lapsed is offered again with each item's original standing."},"availability":"Only when the owner configures the receiving and sending addresses; otherwise no authorization is offered and nobody is refused for a debt."},"outcomes":{"economic":[{"outcome":"IMPROVEMENT_DEMONSTRATED","certifies_improvement":true,"meaning":"A positive PREFLIGHT lower bound on the competitor's improvement over the declared baseline (defensible_vos_lb_usdc_atomic), under the claim's conditions, until commercial_expiry_unix. Not a realized saving, not a guaranteed price, not an authorized commission. With decision.winner_rule BEST_BOUND_VS_BASELINE, several competitors beat the baseline without separating from each other and the recommended one has the largest bound against the baseline: it is not claimed to be the cheapest route."},{"outcome":"TIE","certifies_improvement":false,"meaning":"Every pair is bounded, no candidate beats the others by the minimum economic difference (MED), and no competitor's bound against the baseline is positive and clears MED."},{"outcome":"NO_IMPROVEMENT","certifies_improvement":false,"meaning":"The baseline is the robust winner, or the competitor's lower bound against it is not positive."},{"outcome":"INSUFFICIENT_DATA","certifies_improvement":false,"meaning":"The evidence does not support a verified statement (decision.unverified.reason says why). Not a saving of any size."},{"outcome":"ABSTAIN","certifies_improvement":false,"meaning":"The evaluation abstains (e.g. the price sources disagree beyond the policy gate). Not a saving of any size."}],"operational":[{"state":"REQUEST_REFUSED","http_status":422,"retryable":false,"meaning":"The request (or, with HTTP 400, the Idempotency-Key or the JSON; with HTTP 413, a body above the size limit) is not admissible, including a commercially inadmissible declared baseline (BASELINE_INADMISSIBLE). Nothing was evaluated or stored."},{"state":"SERVICE_NOT_READY","http_status":503,"retryable":false,"meaning":"Owner policy decisions the evaluation needs are not configured. No capture ran; nothing was stored."},{"state":"CAPTURE_FAILED_CLOSED","http_status":503,"retryable":true,"meaning":"The capture failed closed on its evidence for this attempt (outcome INSUFFICIENT_DATA, not stored). Retry with the same Idempotency-Key only when `retryable` is true; a deterministic failure is `retryable: false`."},{"state":"IDEMPOTENCY_CONFLICT","http_status":409,"retryable":false,"meaning":"The Idempotency-Key already names the decision of a different request of this caller. No other result is named. Use a new key."},{"state":"RATE_LIMITED","http_status":429,"retryable":true,"meaning":"The caller's request or capture limit, or the service's concurrent-capture limit, is reached. Nothing was called or stored. Retry later."},{"state":"STORED_RECORD_CORRUPT","http_status":500,"retryable":false,"meaning":"The stored record failed its integrity check. It is never served and never overwritten."},{"state":"STORE_FAILED","http_status":503,"retryable":true,"meaning":"The decision store failed; nothing was stored. Retry with the same Idempotency-Key."},{"state":"EVALUATION_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The evaluation could not complete; nothing was stored. Retry with the same Idempotency-Key."},{"state":"RESULT_NOT_FOUND","http_status":404,"retryable":false,"meaning":"No commercial evaluation of this caller has this result_id."},{"state":"CONFIG_INVALID","http_status":503,"retryable":false,"meaning":"The service's runtime configuration is invalid."},{"state":"EMERGENCY_STOP","http_status":503,"retryable":true,"meaning":"The operator has stopped the service (V12). Nothing was read, evaluated, stored or accrued; retry after the Retry-After header."},{"state":"PAYMENT_REQUIRED","http_status":402,"retryable":true,"meaning":"The signed sender owes verified S5 that its fee authorizations could not collect: a pull that failed (no balance, no Permit2 allowance, a revoked or lapsed permit), or a verified fee of a decision executed without authorizing it first, or reported after its grace (V17). Nothing was evaluated or stored. FEE_COLLECTION_FAILED: sign debt_offer.typed_data and submit it (POST /v1/golden-corridor/fee-debts); FEE_COLLECTION_PENDING: a signed debt is being pulled (debt), or a pull of the sender's fee batch has been refused (USDC balance or Permit2 allowance) for more than a day while an earlier send of it may still land (debt null; owed_usdc_atomic is the batch's amount): nothing to sign. Retry once the pull is confirmed: there is no credit. A debt whose every item is a batch Recta itself did not pull before its permit lapsed (PERMIT_LAPSED) is not answered with 402; it is offered on the payer's ledger (fee_standing.debt_offer)."},{"state":"RECORD_EXPIRED","http_status":410,"retryable":false,"meaning":"The decision was a free one (TIE, NO_IMPROVEMENT, INSUFFICIENT_DATA or ABSTAIN) and its full record passed its retention (V16). Its Idempotency-Key still names it, so nothing new is evaluated under that key; use a new key for a new evaluation. A decision that demonstrated an improvement never expires."}]},"conditions_of_use":["Every POST needs an Idempotency-Key; reuse it to retry, never for a different request.","The request commits the agent's own sender, recipient, gas headroom h and fee caps F and T; Recta never defaults them.","CCTP is evaluated only when the request declares destination_execution_authority: the agent then commits to send receiveMessage itself, within the committed destination gas limit and F_d.","Towards Solana the agent commits to send the CCTP receive itself from the declared fee payer, within the declared compute-unit price cap; deBridge DLN is the usual baseline there.","From Solana the agent commits to send the CCTP burn itself from its base58 sender, within the declared compute-unit price cap, and the destination's receiveMessage within its own h_d and F_d; deBridge DLN from Solana is the usual baseline. The execution is reported by the burn's signature.","From Tron (USDT to Arbitrum's USDT0) the agent commits to send Recta's call itself from its base58check sender (USDT0's send or Across's deposit, after the exact approve when the allowance is short), each within its committed fee_limit and the declared ceiling; its energy and bandwidth are charged at the burn prices of Q, or at what it burnt when that is more, even when it staked or rented them. deBridge DLN from Tron is the usual baseline. Q is Tron's solidified block, so the claim horizon from Tron is its own: 180 s after Q (every other network keeps the envelope's H_COMMERCIAL). The execution is reported by the call's transaction id (origin_txid, and approval_txid for the approve).","From Bitcoin (BTC to Ethereum USDC) the agent commits to send the committed deposit itself from its Bitcoin sender: THORChain's (the vault output and its memo) or Chainflip's vault swap (the vault output and its payload), funded by the sender's confirmed outputs within the declared number of inputs, at most at the declared fee rate, the change returning to the sender. The other protocol is the usual baseline; neither delivers a bounded amount, so the cost side of every pair is the deposit's market value at the BTC reference's upper bound, and a decision is almost always a TIE (free). The claim expires at a Bitcoin height: the deposit must confirm above Q and at most 3 blocks after it. The execution is reported by the deposit's txid (deposit_txid).","LI.FI (`lifi`) can be declared as the baseline, never chosen as a route: between Ethereum, Arbitrum, Base, Optimism, Polygon, Avalanche, Linea, Unichain, Ink, HyperEVM and Monad USDC, under latency_class ANY or FINALITY_BOUND. Recta asks LI.FI's keyless quote for your exact transfer and trusts none of its estimate: it decodes the transaction and admits it only when the calldata itself fixes the delivery (the source network's reviewed LI.FI diamond, its fixed fee step, and an Across V4 deposit or a CCTP standard burn; from Avalanche, Unichain, Ink, HyperEVM and Monad only the CCTP standard burn, all for your token, amount, recipient and refunds). It is also declarable for USDT between Ethereum, Arbitrum, Polygon, Unichain and Ink, through LI.FI's Glacis route to USDT0 only; Glacis's own contract is not bound by LI.FI's calldata, so that bound is stated as a premise in the claim, and LI.FI's native LayerZero fee is never counted in the saving. The baseline's delivery is then bounded from above by what reaches the bridge after LI.FI's fee. Any other route LI.FI returns leaves the baseline unavailable. To get the quote, Recta sends your sender address, recipient address, token and amount to LI.FI's public API (li.quest); nothing else, and nothing is signed. Optional: if you already hold LI.FI's quote for this exact transfer, send its transactionRequest as baseline_artifact (to, calldata in lowercase, value_wei, observed_at_unix); Recta checks it with the same gate, admits at most LI.FI's public 0.25 % fee in it, and then sends nothing to LI.FI. If LI.FI rate-limits Recta, the baseline is unavailable (503, reason lifi_rate_limited_http_429_send_lifi_transaction_as_baseline_artifact) and that option still works.","A USDT corridor moves USDT end to end (Tether's USDT on Ethereum, USDT0 elsewhere): Across, Stargate and USDT0 compete, CCTP never does. The saving is still stated in USDC: the delivered difference is valued at the decision's ρ (`valuation`). From Ethereum, a sender whose USDT allowance is non-zero but below the amount must reset it to zero first; until then the routes that need it are unavailable.","A USDG corridor (Paxos's Global Dollar, Ethereum -> Robinhood Chain only) moves USDG end to end: Across and Paxos's USDG OFT (usdg_oft) compete, CCTP and Stargate never do. The saving is still stated in USDC at the decision's ρ (`valuation`). Paxos can pause USDG or freeze an address: a frozen recipient on Robinhood Chain leaves an OFT message undelivered until it is unfrozen.","A decision describes the source state at its capture (Q) and expires at claim.commercial_expiry_unix (from Bitcoin, at commercial_expiry_bitcoin_height); it is never re-evaluated on read.","Only HTTP 200 responses are durable; every error is non-durable."],"evidence_limitations":["A positive bound is preflight evidence under declared conditions, not a realized saving, a guaranteed price or an authorized commission.","evidence_limits.policy_assurance states the assurance of the policies the decision was made under (EXPERIMENTAL is not an owner decision).","Integrity is internal consistency (unkeyed digests), not authenticity.","INSUFFICIENT_DATA and ABSTAIN never certify a saving; CAPTURE_FAILED_CLOSED is not stored.","OD-QSE-1: the outcome is the conditional figure (R_QSE_STARGATE_DELIVERY); R_HARD shows the same evidence without CONDITIONAL_ON_Q_STATE_EQUIVALENCE. The LayerZero native-fee premise is reported NOT_COMPUTED. No figure is a realized, guaranteed or billable saving.","The response never carries calldata or any other executable artifact; execution.fresh_quote_required is always true."],"schemas":{"request":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:recta:commercial-evaluation:v12:request","title":"RECTA_COMMERCIAL_ECONOMIC_REQUEST_V1","description":"Structural form of the commercial economic request. Semantic rules (EIP-55 checksum of mixed-case addresses, priority fee ≤ max fee, value ranges, amount range and exact representability) are enforced by the service and refused with 422.","type":"object","additionalProperties":false,"required":["schema","source_network","source_asset","destination_network","destination_asset","amount","constraints","sender","recipient","baseline_provider","execution_authority"],"properties":{"schema":{"const":"RECTA_COMMERCIAL_ECONOMIC_REQUEST_V1"},"source_network":{"enum":["ethereum","arbitrum","base","optimism","linea","arc","unichain","ink","polygon","solana_mainnet","tron_mainnet","bitcoin_l1","bnb_chain","avalanche","hyperevm","monad"],"description":"With destination_network, one of the descriptor's corridors; any other pair is refused 422 CORRIDOR_NOT_SUPPORTED."},"source_asset":{"enum":["USDC","USDT","USDG","BTC","USDC_BINANCE_PEG","USDT_OP_BRIDGED","USDT_BINANCE_PEG"],"description":"The asset the corridor moves, named explicitly (never defaulted). With the networks, one of the descriptor's corridors. USDT is Tether's USDT on Ethereum and Tron and USDT0 on the other networks; USDT_OP_BRIDGED is Optimism's legacy OP-bridged USDT (0x94b0…8e58), valued as USDT; USDT_BINANCE_PEG is BNB Chain's Binance-Peg USDT (BEP-20, 0x55d3…7955, 18 decimals), valued as USDT; BTC is Bitcoin's (V11, swapped for Ethereum USDC); every figure stays in USDC atomic."},"destination_network":{"enum":["arbitrum","base","optimism","polygon","linea","arc","unichain","ink","ethereum","robinhood_chain","solana_mainnet","bnb_chain","avalanche","hyperevm","monad","tron_mainnet"]},"destination_asset":{"enum":["USDC","USDT","USDG","BTC","USDC_BINANCE_PEG","USDT_OP_BRIDGED","USDT_BINANCE_PEG"],"description":"The source asset: every corridor moves one asset end to end, but BTC, which is delivered as Ethereum USDC (V11), and Ethereum USDC towards BNB Chain, delivered as Binance-Peg USDC (`USDC_BINANCE_PEG`, 18 decimals, V14), USDT <-> Optimism's legacy OP-bridged USDT (`USDT_OP_BRIDGED`) and Ethereum USDT <-> BNB Chain's Binance-Peg USDT (`USDT_BINANCE_PEG`, 18 decimals), each one family valued at USDT's ρ."},"amount":{"type":"string","pattern":"^(?!0+(\\.0+)?$)(0|[1-9][0-9]*)(\\.[0-9]+)?$","description":"How much of source_asset to send, in whole tokens (not cents, not wei): \"100\" with USDC means 100 USDC. Minimum 3.5 for stablecoins (about 3.5 USD). No maximum. Canonical decimal, positive; each corridor's range is in corridors[].amount."},"constraints":{"type":"object","additionalProperties":false,"required":["guarantee_class","latency_class","destination_execution"],"properties":{"guarantee_class":{"enum":["COMMITTED_ENFORCED","ANY"]},"latency_class":{"enum":["SECONDS","MINUTES","FINALITY_BOUND","ANY"],"description":"The slowest delivery the agent accepts. It filters the candidates and also bounds the baseline: with SECONDS or MINUTES an Across baseline is bounded by its fast fill quoted at Q, and with SECONDS a CCTP fast baseline from a measured origin by the amount minus the fast fee published at Q, so a saving against them can be demonstrated. ANY and FINALITY_BOUND keep the conservative bound (a slow fill or the standard transfer may deliver the whole amount), under which these baselines rarely show a saving. Recommended: SECONDS when the agent needs the transfer within seconds."},"destination_execution":{"enum":["AGENT_CAN_EXECUTE","NONE"]}}},"sender":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},{"type":"string","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$"},{"type":"string","pattern":"^(bc1[qp][02-9ac-hj-np-z]{38,58}|1[1-9A-HJ-NP-Za-km-z]{25,34})$"}],"description":"The real account that signs and pays every source transaction (never a placeholder or the zero address): a 0x address, a base58 wallet from Solana, a base58check account from Tron, or a P2WPKH, P2TR or P2PKH address from Bitcoin whose confirmed outputs fund the deposit."},"recipient":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}],"description":"In the destination network's family: a 0x address, or a base58 public key towards Solana."},"baseline_provider":{"enum":["across","cctp_v2_standard","cctp_v2_fast","stargate_v2","relay","usdt0","usdg_oft","debridge_dln","lifi","thorchain","chainflip"],"description":"The agent's declared counterfactual slot. See the descriptor for the commercially admissible ones. With baseline_artifact (V12), the slot the agent's own transaction claims to be."},"baseline_artifact":{"type":"object","additionalProperties":false,"required":["to","calldata","value_wei","observed_at_unix"],"description":"V12, EVM source only: the source transaction the agent would sign instead of Recta's route, as its baseline. It must be the slot baseline_provider names (the descriptor's baseline.artifact.slots), from the sender, for exactly this transfer; Recta decodes and simulates it at the capture's source state, and refuses it (BASELINE_INADMISSIBLE, or a capture failure) when it is not. Its own committed floor never inflates the saving: the cost side is what the protocol quotes at Q for it.","properties":{"to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"calldata":{"type":"string","pattern":"^0x([0-9a-f]{2})+$","minLength":10,"maxLength":49154,"description":"Lowercase hex of the transaction's input."},"value_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":78,"description":"The transaction's native value."},"observed_at_unix":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":12,"description":"When the agent built it (unix seconds)."}}},"execution_authority":{"description":"EVM source: h, F and T. Solana source (V9): the compute-unit price cap of the agent's own burn (its compute-unit limit and signatures are fixed by Recta's burn). Tron source (V10): the agent's fee_limit ceiling in sun for each source transaction. Bitcoin source (V11): the deposit's fee rate and number of inputs ceilings.","oneOf":[{"type":"object","additionalProperties":false,"required":["headroom","source_max_fee_per_gas_wei","source_max_priority_fee_per_gas_wei"],"properties":{"headroom":{"type":"string","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$","maxLength":40,"description":"h: gas-limit headroom ratio, at most 6 decimals."},"source_max_fee_per_gas_wei":{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":40,"description":"F: committed EIP-1559 maxFeePerGas (wei/gas)."},"source_max_priority_fee_per_gas_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40,"description":"T: committed maxPriorityFeePerGas ceiling (wei/gas), T ≤ F."},"baseline_priority_fee_per_gas_wei":{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":40,"description":"Optional, Ethereum source only: the priority fee (wei/gas, ≤ F) you would pay on your own. With it, Recta commits every source transaction at maxPriorityFeePerGas = min(T, 50000000 wei); when your declared baseline (across) is also the best route, the saving is the priority fee this saves, and its 5 % is the fee. Declaring more only raises your fee; omit it to keep T unchanged."}}},{"type":"object","additionalProperties":false,"required":["max_compute_unit_price_micro_lamports"],"properties":{"max_compute_unit_price_micro_lamports":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40,"description":"The burn's compute-unit price cap (micro-lamports per compute unit)."}}},{"type":"object","additionalProperties":false,"required":["max_fee_limit_sun"],"properties":{"max_fee_limit_sun":{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":40,"description":"The most `fee_limit` (sun) any source transaction may set; the service checks it against Tron's own maximum."}}},{"type":"object","additionalProperties":false,"required":["max_fee_rate_sat_per_vb","max_inputs"],"properties":{"max_fee_rate_sat_per_vb":{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":40,"description":"The most the deposit pays per virtual byte (whole sat/vB); every cost bound uses it, and it must reach the relay minimum at Q."},"max_inputs":{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":40,"description":"The most of the sender's confirmed outputs the deposit spends; the service checks its range."}}}]},"destination_execution_authority":{"description":"Only with constraints.destination_execution AGENT_CAN_EXECUTE. The agent's own CCTP receive on the destination. EVM: executor (who sends and pays receiveMessage) and F_d (its maxFeePerGas); its cost is bounded by a declared gas cap times F_d. Solana: the fee payer and the compute-unit price cap; its cost is bounded in lamports (signature, priority fee, the used-nonce and USDC token account rents, always counted). Declaring it makes CCTP commercially admissible.","oneOf":[{"type":"object","additionalProperties":false,"required":["execution_mode","executor","max_fee_per_gas_wei"],"properties":{"execution_mode":{"enum":["SELF"]},"executor":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"max_fee_per_gas_wei":{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":40},"headroom":{"type":"string","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$","maxLength":40,"description":"V9, from a Solana source only (and required there): h_d, the agent's own gas-limit headroom on the destination's receiveMessage."}}},{"type":"object","additionalProperties":false,"required":["execution_mode","fee_payer","max_compute_unit_price_micro_lamports"],"properties":{"execution_mode":{"enum":["SELF"]},"fee_payer":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"max_compute_unit_price_micro_lamports":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40}}}]}},"allOf":[{"if":{"required":["source_asset"],"properties":{"source_asset":{"const":"USDC"}}},"then":{"properties":{"destination_asset":{"enum":["USDC","USDC_BINANCE_PEG","USDT"]}}}},{"if":{"required":["source_asset"],"properties":{"source_asset":{"const":"USDT"}}},"then":{"properties":{"destination_asset":{"enum":["USDT","USDT_OP_BRIDGED","USDT_BINANCE_PEG"]}}}},{"if":{"required":["source_asset"],"properties":{"source_asset":{"const":"USDG"}}},"then":{"properties":{"destination_asset":{"enum":["USDG"]}}}},{"if":{"required":["source_asset"],"properties":{"source_asset":{"const":"BTC"}}},"then":{"properties":{"destination_asset":{"enum":["USDC"]}}}},{"if":{"required":["source_asset"],"properties":{"source_asset":{"const":"USDC_BINANCE_PEG"}}},"then":{"properties":{"destination_asset":{"enum":["USDC"]}}}},{"if":{"required":["source_asset"],"properties":{"source_asset":{"const":"USDT_OP_BRIDGED"}}},"then":{"properties":{"destination_asset":{"enum":["USDT"]}}}},{"if":{"required":["source_asset"],"properties":{"source_asset":{"const":"USDT_BINANCE_PEG"}}},"then":{"properties":{"destination_asset":{"enum":["USDT"]}}}},{"if":{"required":["baseline_provider"],"properties":{"baseline_provider":{"const":"usdt0"}}},"then":{"properties":{"source_asset":{"enum":["USDT"]}}}},{"if":{"required":["baseline_provider"],"properties":{"baseline_provider":{"const":"usdg_oft"}}},"then":{"properties":{"source_asset":{"enum":["USDG"]}}}},{"if":{"required":["baseline_provider"],"properties":{"baseline_provider":{"const":"lifi"}}},"then":{"properties":{"source_asset":{"enum":["USDC","USDT"]}}}},{"if":{"required":["source_network"],"properties":{"source_network":{"enum":["solana_mainnet"]}}},"then":{"properties":{"sender":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"execution_authority":{"required":["max_compute_unit_price_micro_lamports"]}}}},{"if":{"required":["source_network"],"properties":{"source_network":{"enum":["tron_mainnet"]}}},"then":{"properties":{"sender":{"type":"string","pattern":"^T[1-9A-HJ-NP-Za-km-z]{33}$"},"execution_authority":{"required":["max_fee_limit_sun"]}}}},{"if":{"required":["source_network"],"properties":{"source_network":{"enum":["bitcoin_l1"]}}},"then":{"properties":{"sender":{"type":"string","pattern":"^(bc1[qp][02-9ac-hj-np-z]{38,58}|1[1-9A-HJ-NP-Za-km-z]{25,34})$"},"execution_authority":{"required":["max_fee_rate_sat_per_vb"]},"baseline_provider":{"enum":["thorchain","chainflip"]}}},"else":{"properties":{"baseline_provider":{"enum":["across","cctp_v2_standard","cctp_v2_fast","stargate_v2","relay","usdt0","usdg_oft","debridge_dln","lifi"]}}}},{"if":{"required":["source_network"],"properties":{"source_network":{"enum":["solana_mainnet","tron_mainnet","bitcoin_l1"]}}},"then":{"not":{"required":["baseline_artifact"]}},"else":{"properties":{"sender":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"execution_authority":{"required":["headroom"]}}}}]},"decision_response":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:recta:commercial-evaluation:v12:decision-response","title":"Durable commercial decision (HTTP 200): its PUBLIC projection","description":"The public projection of the decision stored under the caller's Idempotency-Key, returned by the POST that made it, by every replay of that POST and by GET {result_id}. `x-commercial-evaluation-replayed: true` tells a replay apart. The stored record (capture, envelopes, calldata, reference, pairs, policies) never leaves the service: no field here executes a route.","type":"object","additionalProperties":false,"required":["api_version","contract_version","status","durable","result_id","stored_at","outcome","decision","bounds","evidence","evidence_limits","execution"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"DECIDED"},"durable":{"const":true},"result_id":{"type":"string","pattern":"^[A-Za-z0-9_-]+$"},"stored_at":{"type":"string","minLength":1,"description":"The store's write clock (ISO 8601), not an evidence time."},"outcome":{"enum":["IMPROVEMENT_DEMONSTRATED","TIE","NO_IMPROVEMENT","INSUFFICIENT_DATA","ABSTAIN"]},"decision":{"type":"object","additionalProperties":false,"required":["state","verified_zero_reason","unverified","baseline_provider","winner_rule"],"properties":{"state":{"enum":["VERIFIED_POSITIVE","VERIFIED_ZERO","UNVERIFIED"]},"verified_zero_reason":{"anyOf":[{"type":"null"},{"enum":["TIE","BASELINE_IS_WINNER","LOWER_BOUND_NOT_POSITIVE"]}]},"unverified":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["reason","axis","pending_decisions"],"properties":{"reason":{"enum":["JOINT_VOS_POLICY_DEFECT","JOINT_VOS_POLICY_NOT_CONFIGURED","DECISION_INSTANT_INVALID","CAPTURE_EVIDENCE_DEFECT","CAPTURE_NOT_CAPTURED","PRICE_REFERENCE_DEFECT","DECISION_INSTANT_BEFORE_SOURCE_ANCHOR","COMMERCIAL_HORIZON_EXPIRED","NUMERAIRE_NOT_USDC","BASELINE_OUTSIDE_CONSTRAINT_SET","BASELINE_TOKEN_LEG_UNBOUNDED","NO_ADMISSIBLE_COMPETITOR","TOKEN_LEG_BOUND_UNAVAILABLE","ACROSS_FILL_PATH_EVIDENCE_DEFECT","PRICE_BOUND_UNAVAILABLE","PRICE_REFERENCE_UNAVAILABLE"]},"axis":{"enum":["INSUFFICIENT_DATA","ABSTAIN"]},"pending_decisions":{"type":"array","items":{"enum":["med_absolute_usdc_atomic","price_reference_required_assurance"]}}}}]},"baseline_provider":{"enum":["across","cctp_v2_standard","cctp_v2_fast","stargate_v2","relay","usdt0","usdg_oft","debridge_dln","lifi","thorchain","chainflip"]},"winner_rule":{"anyOf":[{"type":"null"},{"const":"BEST_BOUND_VS_BASELINE"}]},"same_route_priority_fee":{"type":"object","additionalProperties":false,"required":["rule_id","declared_priority_fee_per_gas_wei","committed_priority_fee_cap_wei","execution_gas_lower","max_fee_per_gas_wei","effective_declared_priority_fee_per_gas_wei"],"description":"Present only when the recommended route IS the declared baseline (Across from Ethereum) and the whole saving is the priority fee: you declared execution_authority.baseline_priority_fee_per_gas_wei (what you would pay on your own) and Recta committed every source transaction with maxPriorityFeePerGas = committed_priority_fee_cap_wei. On your own you could tip at most max_fee_per_gas_wei minus the base fee, so the bound counts effective_declared_priority_fee_per_gas_wei = min(declared, F − next base fee) and holds while the base fee stays at or below F minus it; the realized saving is min(declared − tip paid, F − effective gas price) on the execution's intrinsic gas only. A lower tip can take a few more blocks to be included under congestion; the Across fill deadline still applies.","properties":{"rule_id":{"const":"RECTA_SAME_ROUTE_PRIORITY_FEE_V1"},"declared_priority_fee_per_gas_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40},"committed_priority_fee_cap_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40},"execution_gas_lower":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40},"max_fee_per_gas_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40},"effective_declared_priority_fee_per_gas_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40}}}}},"bounds":{"type":"object","additionalProperties":false,"required":["unit","R_QSE_STARGATE_DELIVERY","R_HARD","R_QSE_LZ_NATIVE_FEE","R_QSE_BOTH"],"properties":{"unit":{"const":"USDC_ATOMIC_10E-6"},"R_QSE_STARGATE_DELIVERY":{"type":"object","additionalProperties":false,"required":["status","outcome","state","defensible_vos_lb_usdc_atomic","baseline_pair_lower_bound_usdc_atomic","premises","token_leg_rules_id"],"properties":{"status":{"const":"COMPUTED"},"outcome":{"enum":["IMPROVEMENT_DEMONSTRATED","TIE","NO_IMPROVEMENT","INSUFFICIENT_DATA","ABSTAIN"]},"state":{"enum":["VERIFIED_POSITIVE","VERIFIED_ZERO","UNVERIFIED"]},"defensible_vos_lb_usdc_atomic":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^-?(0|[1-9][0-9]*)$"}]},"baseline_pair_lower_bound_usdc_atomic":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^-?(0|[1-9][0-9]*)$"}]},"premises":{"type":"array","items":{"type":"string"}},"token_leg_rules_id":{"type":"string"}}},"R_HARD":{"oneOf":[{"type":"object","additionalProperties":false,"required":["status","outcome","state","defensible_vos_lb_usdc_atomic","baseline_pair_lower_bound_usdc_atomic","premises","token_leg_rules_id"],"properties":{"status":{"const":"COMPUTED"},"outcome":{"enum":["IMPROVEMENT_DEMONSTRATED","TIE","NO_IMPROVEMENT","INSUFFICIENT_DATA","ABSTAIN"]},"state":{"enum":["VERIFIED_POSITIVE","VERIFIED_ZERO","UNVERIFIED"]},"defensible_vos_lb_usdc_atomic":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^-?(0|[1-9][0-9]*)$"}]},"baseline_pair_lower_bound_usdc_atomic":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^-?(0|[1-9][0-9]*)$"}]},"premises":{"type":"array","maxItems":0},"token_leg_rules_id":{"type":"string"}}},{"type":"object","additionalProperties":false,"required":["status","reason","premises"],"properties":{"status":{"const":"NOT_COMPUTED"},"reason":{"type":"string"},"premises":{"type":"array","maxItems":0}}}]},"R_QSE_LZ_NATIVE_FEE":{"type":"object","additionalProperties":false,"required":["status","reason","premises"],"properties":{"status":{"const":"NOT_COMPUTED"},"reason":{"type":"string"},"premises":{"type":"array","maxItems":0}}},"R_QSE_BOTH":{"type":"object","additionalProperties":false,"required":["status","reason","premises"],"properties":{"status":{"const":"NOT_COMPUTED"},"reason":{"type":"string"},"premises":{"type":"array","maxItems":0}}}}},"evidence":{"type":"object","additionalProperties":false,"required":["commercial_request_fingerprint","capture_digest","reference_digest","decision_digest","envelope_policy_digest","price_policy_digest","joint_vos_policy_digest"],"properties":{"commercial_request_fingerprint":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"capture_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"reference_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"decision_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"envelope_policy_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"price_policy_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"joint_vos_policy_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"sol_reference_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"sol_price_policy_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"}},"dependentRequired":{"sol_reference_digest":["sol_price_policy_digest"],"sol_price_policy_digest":["sol_reference_digest"]}},"evidence_limits":{"type":"object","additionalProperties":false,"required":["preflight_bound_only","realized_saving","guaranteed_price","commission_authorized","policy_assurance","conditions","commercial_expiry_unix","claim_state_at_read","q_state_equivalence_in_use"],"properties":{"preflight_bound_only":{"const":true},"realized_saving":{"const":false},"guaranteed_price":{"const":false},"commission_authorized":{"const":false},"policy_assurance":{"anyOf":[{"type":"null"},{"enum":["EXPERIMENTAL","CALIBRATED","PRODUCTION_APPROVED"]}]},"conditions":{"type":"array","items":{"type":"string"}},"commercial_expiry_unix":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40}]},"commercial_expiry_bitcoin_height":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40,"description":"V11, only on a claim of a transfer that starts on Bitcoin: the claim holds for a deposit confirmed above Q's height and at most at this height (commercial_expiry_unix is then null: the block header's time is the miner's)."},"claim_state_at_read":{"enum":["ACTIVE","EXPIRED","NO_CLAIM","HEIGHT_BOUND"],"description":"The claim against the read instant: an EXPIRED claim certifies nothing for a new execution. HEIGHT_BOUND (V11): the claim expires at commercial_expiry_bitcoin_height, which the agent compares with Bitcoin's tip; the service reads none on read."},"q_state_equivalence_in_use":{"type":"boolean","description":"Whether the conditional figure rests on CONDITIONAL_ON_Q_STATE_EQUIVALENCE (OD-QSE-1)."}}},"execution":{"type":"object","additionalProperties":false,"required":["fresh_quote_required"],"properties":{"fresh_quote_required":{"const":true}}},"valuation":{"type":"object","additionalProperties":false,"required":["delivered_asset","numeraire","delivered_rate"],"description":"Present exactly when the corridor delivers another asset than USDC (absent on a USDC decision). The delivered difference between two routes is measured in that asset and valued in USDC at the delivered rate ρ = (asset/USD) ÷ (USDC/USD), widened outward over the price sources: a saving at rho_lo_micro (rounded down), a cost at rho_hi_micro. Every figure of `bounds` stays in USDC atomic. delivered_rate is null when no ρ could be read: the decision then certifies nothing (NUMERAIRE_NOT_USDC).","properties":{"delivered_asset":{"enum":["USDT","USDG","USDC_BINANCE_PEG","USDT_OP_BRIDGED","USDT_BINANCE_PEG"]},"numeraire":{"const":"USDC"},"delivered_rate":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["unit","rho_lo_micro","rho_hi_micro"],"properties":{"unit":{"const":"USDC_MICRO_PER_WHOLE_TOKEN"},"rho_lo_micro":{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":40},"rho_hi_micro":{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":40}}}]}}}},"allOf":[{"$ref":"urn:recta:commercial-evaluation:v12:economic-result"},{"if":{"properties":{"outcome":{"const":"IMPROVEMENT_DEMONSTRATED"}}},"then":{"properties":{"evidence_limits":{"properties":{"conditions":{"minItems":1}},"oneOf":[{"properties":{"commercial_expiry_unix":{"type":"string"},"claim_state_at_read":{"enum":["ACTIVE","EXPIRED"]}},"not":{"required":["commercial_expiry_bitcoin_height"]}},{"required":["commercial_expiry_bitcoin_height"],"properties":{"commercial_expiry_unix":{"type":"null"},"claim_state_at_read":{"const":"HEIGHT_BOUND"}}}]}}},"else":{"properties":{"evidence_limits":{"properties":{"conditions":{"maxItems":0},"commercial_expiry_unix":{"type":"null"},"claim_state_at_read":{"const":"NO_CLAIM"}},"not":{"required":["commercial_expiry_bitcoin_height"]}}}}}]},"no_search_response":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:recta:commercial-evaluation:v12:no-search-response","title":"The economic gate skipped the search (HTTP 200, V12): no route was evaluated, nothing stored, nothing charged","description":"Recta's recorded decisions for this corridor, constraints, amount order, baseline slot and decision rules show a saving in fewer than min_probability_to_search of at least the policy's minimum number of samples, or this exact corridor, slot baseline and constraint set is dormant (its last two weekly recaptures read no saving; amounts up to 2500 units of the source asset; prior_ref then names the dormant list, DORMANT_CORRIDORS_V1@digest, and p_positive is 0.000000), so the gate does not search. It is never a statement about this transfer's prices and never certifies anything. It only happens for a slot baseline with recorded samples (a baseline artifact, an unseen corridor or an unseen baseline always searches), and a share of such requests is searched anyway to audit the gate. Not durable: a retry asks the gate again.","type":"object","additionalProperties":false,"required":["api_version","contract_version","status","durable","outcome","commercial_request_fingerprint","admission","message"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"NOT_SEARCHED"},"durable":{"const":false},"outcome":{"const":"NO_SEARCH_EXPECTED_ZERO"},"commercial_request_fingerprint":{"type":"string","pattern":"^0x[0-9a-f]{64}$"},"admission":{"type":"object","additionalProperties":false,"required":["prior_ref","p_positive","min_probability_to_search"],"properties":{"prior_ref":{"type":"string","pattern":"^[A-Z0-9_]{1,64}@0x[0-9a-f]{64}$","description":"The prior table, or the dormant-corridor list, the gate read: version@digest."},"p_positive":{"type":"string","pattern":"^(0|1)\\.[0-9]{6}$","description":"The recorded share of decided samples that demonstrated a saving, rounded up (0.000000 for a dormant corridor)."},"min_probability_to_search":{"type":"string","pattern":"^(0|1)(\\.[0-9]{1,18})?$","description":"The policy's threshold: the gate searches at or above it."}}},"message":{"type":"string"}}},"economic_result":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:recta:commercial-evaluation:v12:economic-result","title":"Economic result: the agent outcome, the decision state it is read from, and the OD-QSE-1 figures","description":"IMPROVEMENT_DEMONSTRATED is the only outcome that certifies an improvement, and only as a PREFLIGHT lower bound under the claim's conditions until its commercial expiry: never a realized saving, a guaranteed price or an authorized commission. The outcome is the CONDITIONAL one (production rules: R_QSE_STARGATE_DELIVERY, which may rest on CONDITIONAL_ON_Q_STATE_EQUIVALENCE); R_HARD is the same evidence without that premise and is always shown with it (OD-QSE-1). TIE and NO_IMPROVEMENT certify that no improvement was demonstrated. INSUFFICIENT_DATA and ABSTAIN certify nothing.","allOf":[{"type":"object","required":["outcome","decision","bounds"],"properties":{"outcome":{"enum":["IMPROVEMENT_DEMONSTRATED","TIE","NO_IMPROVEMENT","INSUFFICIENT_DATA","ABSTAIN"]},"decision":{"type":"object","additionalProperties":false,"required":["state","verified_zero_reason","unverified","baseline_provider","winner_rule"],"properties":{"state":{"enum":["VERIFIED_POSITIVE","VERIFIED_ZERO","UNVERIFIED"]},"verified_zero_reason":{"anyOf":[{"type":"null"},{"enum":["TIE","BASELINE_IS_WINNER","LOWER_BOUND_NOT_POSITIVE"]}]},"unverified":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["reason","axis","pending_decisions"],"properties":{"reason":{"enum":["JOINT_VOS_POLICY_DEFECT","JOINT_VOS_POLICY_NOT_CONFIGURED","DECISION_INSTANT_INVALID","CAPTURE_EVIDENCE_DEFECT","CAPTURE_NOT_CAPTURED","PRICE_REFERENCE_DEFECT","DECISION_INSTANT_BEFORE_SOURCE_ANCHOR","COMMERCIAL_HORIZON_EXPIRED","NUMERAIRE_NOT_USDC","BASELINE_OUTSIDE_CONSTRAINT_SET","BASELINE_TOKEN_LEG_UNBOUNDED","NO_ADMISSIBLE_COMPETITOR","TOKEN_LEG_BOUND_UNAVAILABLE","ACROSS_FILL_PATH_EVIDENCE_DEFECT","PRICE_BOUND_UNAVAILABLE","PRICE_REFERENCE_UNAVAILABLE"]},"axis":{"enum":["INSUFFICIENT_DATA","ABSTAIN"]},"pending_decisions":{"type":"array","items":{"enum":["med_absolute_usdc_atomic","price_reference_required_assurance"]}}}}]},"baseline_provider":{"enum":["across","cctp_v2_standard","cctp_v2_fast","stargate_v2","relay","usdt0","usdg_oft","debridge_dln","lifi","thorchain","chainflip"]},"winner_rule":{"anyOf":[{"type":"null"},{"const":"BEST_BOUND_VS_BASELINE"}]},"same_route_priority_fee":{"type":"object","additionalProperties":false,"required":["rule_id","declared_priority_fee_per_gas_wei","committed_priority_fee_cap_wei","execution_gas_lower","max_fee_per_gas_wei","effective_declared_priority_fee_per_gas_wei"],"description":"Present only when the recommended route IS the declared baseline (Across from Ethereum) and the whole saving is the priority fee: you declared execution_authority.baseline_priority_fee_per_gas_wei (what you would pay on your own) and Recta committed every source transaction with maxPriorityFeePerGas = committed_priority_fee_cap_wei. On your own you could tip at most max_fee_per_gas_wei minus the base fee, so the bound counts effective_declared_priority_fee_per_gas_wei = min(declared, F − next base fee) and holds while the base fee stays at or below F minus it; the realized saving is min(declared − tip paid, F − effective gas price) on the execution's intrinsic gas only. A lower tip can take a few more blocks to be included under congestion; the Across fill deadline still applies.","properties":{"rule_id":{"const":"RECTA_SAME_ROUTE_PRIORITY_FEE_V1"},"declared_priority_fee_per_gas_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40},"committed_priority_fee_cap_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40},"execution_gas_lower":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40},"max_fee_per_gas_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40},"effective_declared_priority_fee_per_gas_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":40}}}}},"bounds":{"type":"object","additionalProperties":false,"required":["unit","R_QSE_STARGATE_DELIVERY","R_HARD","R_QSE_LZ_NATIVE_FEE","R_QSE_BOTH"],"properties":{"unit":{"const":"USDC_ATOMIC_10E-6"},"R_QSE_STARGATE_DELIVERY":{"type":"object","additionalProperties":false,"required":["status","outcome","state","defensible_vos_lb_usdc_atomic","baseline_pair_lower_bound_usdc_atomic","premises","token_leg_rules_id"],"properties":{"status":{"const":"COMPUTED"},"outcome":{"enum":["IMPROVEMENT_DEMONSTRATED","TIE","NO_IMPROVEMENT","INSUFFICIENT_DATA","ABSTAIN"]},"state":{"enum":["VERIFIED_POSITIVE","VERIFIED_ZERO","UNVERIFIED"]},"defensible_vos_lb_usdc_atomic":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^-?(0|[1-9][0-9]*)$"}]},"baseline_pair_lower_bound_usdc_atomic":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^-?(0|[1-9][0-9]*)$"}]},"premises":{"type":"array","items":{"type":"string"}},"token_leg_rules_id":{"type":"string"}}},"R_HARD":{"oneOf":[{"type":"object","additionalProperties":false,"required":["status","outcome","state","defensible_vos_lb_usdc_atomic","baseline_pair_lower_bound_usdc_atomic","premises","token_leg_rules_id"],"properties":{"status":{"const":"COMPUTED"},"outcome":{"enum":["IMPROVEMENT_DEMONSTRATED","TIE","NO_IMPROVEMENT","INSUFFICIENT_DATA","ABSTAIN"]},"state":{"enum":["VERIFIED_POSITIVE","VERIFIED_ZERO","UNVERIFIED"]},"defensible_vos_lb_usdc_atomic":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^-?(0|[1-9][0-9]*)$"}]},"baseline_pair_lower_bound_usdc_atomic":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^-?(0|[1-9][0-9]*)$"}]},"premises":{"type":"array","maxItems":0},"token_leg_rules_id":{"type":"string"}}},{"type":"object","additionalProperties":false,"required":["status","reason","premises"],"properties":{"status":{"const":"NOT_COMPUTED"},"reason":{"type":"string"},"premises":{"type":"array","maxItems":0}}}]},"R_QSE_LZ_NATIVE_FEE":{"type":"object","additionalProperties":false,"required":["status","reason","premises"],"properties":{"status":{"const":"NOT_COMPUTED"},"reason":{"type":"string"},"premises":{"type":"array","maxItems":0}}},"R_QSE_BOTH":{"type":"object","additionalProperties":false,"required":["status","reason","premises"],"properties":{"status":{"const":"NOT_COMPUTED"},"reason":{"type":"string"},"premises":{"type":"array","maxItems":0}}}}}}}],"oneOf":[{"type":"object","required":["outcome","decision","bounds"],"properties":{"outcome":{"const":"IMPROVEMENT_DEMONSTRATED"},"decision":{"properties":{"state":{"const":"VERIFIED_POSITIVE"},"verified_zero_reason":{"type":"null"},"unverified":{"type":"null"}}},"bounds":{"properties":{"R_QSE_STARGATE_DELIVERY":{"properties":{"outcome":{"const":"IMPROVEMENT_DEMONSTRATED"},"defensible_vos_lb_usdc_atomic":{"type":"string","pattern":"^[1-9][0-9]*$"}}}}}}},{"type":"object","required":["outcome","decision","bounds"],"properties":{"outcome":{"const":"TIE"},"decision":{"properties":{"state":{"const":"VERIFIED_ZERO"},"verified_zero_reason":{"const":"TIE"},"unverified":{"type":"null"}}},"bounds":{"properties":{"R_QSE_STARGATE_DELIVERY":{"properties":{"outcome":{"const":"TIE"},"defensible_vos_lb_usdc_atomic":{"const":"0"}}}}}}},{"type":"object","required":["outcome","decision","bounds"],"properties":{"outcome":{"const":"NO_IMPROVEMENT"},"decision":{"properties":{"state":{"const":"VERIFIED_ZERO"},"verified_zero_reason":{"enum":["BASELINE_IS_WINNER","LOWER_BOUND_NOT_POSITIVE"]},"unverified":{"type":"null"}}},"bounds":{"properties":{"R_QSE_STARGATE_DELIVERY":{"properties":{"outcome":{"const":"NO_IMPROVEMENT"},"defensible_vos_lb_usdc_atomic":{"type":"string","pattern":"^(0|-[1-9][0-9]*)$"}}}}}}},{"type":"object","required":["outcome","decision","bounds"],"properties":{"outcome":{"const":"INSUFFICIENT_DATA"},"decision":{"properties":{"state":{"const":"UNVERIFIED"},"verified_zero_reason":{"type":"null"},"unverified":{"type":"object","properties":{"axis":{"const":"INSUFFICIENT_DATA"}}}}},"bounds":{"properties":{"R_QSE_STARGATE_DELIVERY":{"properties":{"outcome":{"const":"INSUFFICIENT_DATA"},"defensible_vos_lb_usdc_atomic":{"type":"null"}}}}}}},{"type":"object","required":["outcome","decision","bounds"],"properties":{"outcome":{"const":"ABSTAIN"},"decision":{"properties":{"state":{"const":"UNVERIFIED"},"verified_zero_reason":{"type":"null"},"unverified":{"type":"object","properties":{"axis":{"const":"ABSTAIN"}}}}},"bounds":{"properties":{"R_QSE_STARGATE_DELIVERY":{"properties":{"outcome":{"const":"ABSTAIN"},"defensible_vos_lb_usdc_atomic":{"type":"null"}}}}}}}]},"validation_error":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:recta:commercial-evaluation:v12:validation-error","title":"Request refused before any work (HTTP 400 / 422): nothing was evaluated or stored","type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable","field"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"REQUEST_REFUSED"},"reason_code":{"enum":["IDEMPOTENCY_KEY_REQUIRED","IDEMPOTENCY_KEY_INVALID","MALFORMED_REQUEST_BODY","REQUEST_TOO_LARGE","BASELINE_INADMISSIBLE","BODY_NOT_OBJECT","UNKNOWN_FIELD","FIELD_INVALID","CORRIDOR_NOT_SUPPORTED","AMOUNT_INVALID","AMOUNT_NOT_EXACTLY_REPRESENTABLE","AMOUNT_OUT_OF_RANGE","EXECUTION_ENVELOPE_ABSENT","SENDER_PLACEHOLDER","CCTP_MODE_NOT_SELF","SCHEMA_VERSION_REQUIRED","SCHEMA_VERSION_UNSUPPORTED","FIELD_REQUIRED","SENDER_REQUIRED","BASELINE_REQUIRED","VALUE_OUT_OF_RANGE","DESTINATION_AUTHORITY_INCOMPATIBLE","COMMERCIAL_REQUEST_MISMATCH"]},"field":{"anyOf":[{"type":"null"},{"type":"string"}]},"retryable":{"const":false},"help":{"type":"object","additionalProperties":false,"required":["next_step","descriptor"],"properties":{"next_step":{"type":"string"},"descriptor":{"type":"string"},"fit_check":{"type":"string"},"saving_odds":{"type":"string"}}}}},"operational_error":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:recta:commercial-evaluation:v12:operational-error","title":"Operational state (HTTP 402 / 404 / 409 / 410 / 500 / 503): never an economic result, never durable","description":"`retryable: true` means the same request may succeed later under the same Idempotency-Key; a deterministic failure is always `retryable: false`. CAPTURE_FAILED_CLOSED carries `outcome: INSUFFICIENT_DATA` for this attempt only: no improvement is certified and nothing was stored.","oneOf":[{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable","not_ready_reason","pending_decisions"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"SERVICE_NOT_READY"},"reason_code":{"const":"SERVICE_NOT_READY"},"retryable":{"const":false},"not_ready_reason":{"type":"string"},"pending_decisions":{"type":"array","items":{"type":"string"}}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable","outcome","capture_failure","capture_digest"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"CAPTURE_FAILED_CLOSED"},"reason_code":{"const":"CAPTURE_FAILED_CLOSED"},"retryable":{"type":"boolean"},"outcome":{"const":"INSUFFICIENT_DATA"},"capture_failure":{"type":"object","additionalProperties":false,"required":["reason","detail"],"properties":{"reason":{"enum":["COMMERCIAL_REQUEST_DEFECT","COMMERCIAL_POLICY_INVALID","COMMERCIAL_POLICY_NOT_CONFIGURED","ACQUIRER_CONFIGURATION_INVALID","SOURCE_TOKEN_NOT_REGISTERED","BASELINE_INADMISSIBLE","P4_BALANCE_READER_ABSENT","P4_BALANCE_UNAVAILABLE","L1_FEE_PARAMETERS_READER_ABSENT","L1_FEE_PARAMETERS_UNAVAILABLE","SOURCE_ANCHOR_NOT_ACQUIRED","SOURCE_ANCHOR_DEFECT","NEXT_BASE_FEE_UNDEFINED","SOURCE_CHAIN_SLOT_UNKNOWN","H_COMMERCIAL_BELOW_ONE_SLOT","P2_FEE_CAP_BELOW_NEXT_BASE_FEE","P3_FEE_CAP_BELOW_HORIZON_BASE_FEE","BASELINE_NOT_ADMITTED"]},"detail":{"type":"string"}}},"capture_digest":{"type":"string","pattern":"^0x[0-9a-f]{64}$"}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"IDEMPOTENCY_CONFLICT"},"reason_code":{"const":"IDEMPOTENCY_KEY_REUSED"},"retryable":{"const":false}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable","limit"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"RATE_LIMITED"},"reason_code":{"const":"RATE_LIMITED"},"retryable":{"const":true},"limit":{"enum":["ACQUISITION_RATE_LIMITED","ACQUISITION_CONCURRENCY_LIMITED","REQUEST_RATE_LIMITED"]}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"STORED_RECORD_CORRUPT"},"reason_code":{"const":"RESULT_CORRUPT"},"retryable":{"const":false}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"STORE_FAILED"},"reason_code":{"const":"STORE_UNAVAILABLE"},"retryable":{"const":true}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"EVALUATION_UNAVAILABLE"},"reason_code":{"const":"EVALUATION_UNAVAILABLE"},"retryable":{"const":true}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"RESULT_NOT_FOUND"},"reason_code":{"const":"RESULT_NOT_FOUND"},"retryable":{"const":false}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"CONFIG_INVALID"},"reason_code":{"const":"CONFIG_INVALID"},"retryable":{"const":false}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"EMERGENCY_STOP"},"reason_code":{"const":"EMERGENCY_STOP"},"retryable":{"const":true}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable","owed_usdc_atomic","debt","debt_offer"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"PAYMENT_REQUIRED"},"reason_code":{"enum":["FEE_COLLECTION_FAILED","FEE_COLLECTION_PENDING"]},"retryable":{"const":true},"owed_usdc_atomic":{"type":"string","pattern":"^[1-9][0-9]*$","description":"What the sender owes now: verified S5 only, never an estimate."},"debt":{"anyOf":[{"type":"null"},{"type":"object","required":["debt_id","amount_usdc_atomic","items","deadline_unix","signed_at"],"description":"FEE_COLLECTION_PENDING: the debt permit already signed and being pulled; null when what is pending is a pull of the sender's fee batch, refused for more than a day while an earlier send of it may still land."}]},"debt_offer":{"anyOf":[{"type":"null"},{"type":"object","required":["schema","debt_rule","debt_id","amount_usdc_atomic","items","permit","typed_data","submit_path","submit_body"],"properties":{"schema":{"const":"RECTA_FEE_DEBT_V1"},"submit_path":{"const":"/v1/golden-corridor/fee-debts"}},"description":"FEE_COLLECTION_FAILED: the Permit2 permitWitnessTransferFrom to sign (EIP-712 typed_data) for exactly amount_usdc_atomic, on Base, to the owner's address; submit { debt_id, deadline_unix, signature } to submit_path."}]}}},{"type":"object","additionalProperties":false,"required":["api_version","contract_version","status","state","reason_code","message","retryable","durable"],"properties":{"api_version":{"const":"1.0"},"contract_version":{"const":"RECTA_COMMERCIAL_EVALUATION_CONTRACT_V23"},"status":{"const":"ERROR"},"message":{"type":"string"},"durable":{"const":false},"state":{"const":"RECORD_EXPIRED"},"reason_code":{"const":"RESULT_EXPIRED"},"retryable":{"const":false}}}]}}}