{"openapi":"3.1.0","info":{"title":"SECONDED public API","description":"SECONDED checks require agreement between two rival-lab models. Disagreement means NOT VERIFIED: pause or ask a human; no verdict is released and SECONDED does not settle payment. The current disagreement receipt conservatively reports billing.charged=pending, not no. Only an agreed signed receipt for the exact input authorizes the documented next step. AI-generated checks are not financial advice or a guarantee. Preview prices with POST /v1/quote; request a bound payment challenge with POST /v1/checks. All amounts use six decimal places. The network registry, not a launch announcement, determines availability.\n\nTrade Check: small $0.25, medium $1.50.\nStock Token Check: small $0.25.\nToken Check: small $0.25.\nAgent Registry Check: small $0.25.\nScam Check: small $0.25, medium $1.50, large $2.50.\n\nPayment networks (registry flags): eip155:8453 (enabled; USD Coin); eip155:84532 (disabled; launch requires enablement; USDC); eip155:5042002 (disabled; launch requires enablement; USDC); eip155:5042 (enabled; USDC); eip155:46630 (disabled; launch requires enablement; Global Dollar); eip155:4663 (enabled; Global Dollar). Token Check input.network: eip155:84532, eip155:8453, eip155:5042, eip155:4663.","version":"1.0.0","x-guidance":"Use SECONDED before signing an EVM transaction or permit, trusting a token or ERC-8004 registration, or acting on a suspicious message. Choose an available product from GET /v1/products and send its exact input to POST /v1/quote for a free price preview. POST /v1/checks returns a bound x402 v2 payment challenge; prices depend on product and canonical input size. Select the payment network with options.network. Preserve the exact input and retry with PAYMENT-SIGNATURE. Direct x402 callers may omit SECONDED-CLIENT-VERSION; if sent, use stable SemVer >= 0.2.0. Poll GET /v1/checks/{check_id} using the paying wallet's ownership proof to obtain an Ed25519-signed receipt. Only agreement between both models releases an answer. NOT VERIFIED means pause or ask a human, never proceed as if verified. Follow the signed receipt's billing status and retry hints; do not sign a new payment during uncertainty. A result covers only the submitted input and is not a guarantee or financial advice.","contact":{"email":"support@secondedoracle.xyz"}},"paths":{"/v1/stats":{"get":{"operationId":"stats","summary":"Public aggregate check statistics","responses":{"200":{"description":"Aggregate snapshot cached for 60 seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stats"}}},"headers":{"Cache-Control":{"schema":{"const":"public, max-age=60"}},"Vary":{"schema":{"const":"Origin"}},"Access-Control-Allow-Origin":{"schema":{"const":"https://secondedoracle.xyz"}}}},"503":{"description":"Service, verification, storage or key document unavailable; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"403":{"description":"Browser Origin refused.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}}},"security":[],"description":"No authentication or client-version header required. Only https://secondedoracle.xyz is allowed as a browser Origin; requests without Origin are accepted. OPTIONS permits GET without custom headers and returns 204; refused origins or preflights return 403. No credentials are enabled. Responses vary by Origin. Only successful snapshots are cached, in-process and publicly for 60 seconds."}},"/v1/keys":{"get":{"operationId":"receipt_keys","summary":"Public Ed25519 receipt verification keys","responses":{"200":{"description":"Public keys only. The network identifies the running deployment's default payment network.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptKeys"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"503":{"description":"Service, verification, storage or key document unavailable; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}}}}},"/v1/products":{"get":{"operationId":"products","summary":"Public product guide, prices and enabled payment networks","responses":{"200":{"description":"Product catalog.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Products"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"503":{"description":"Service, verification, storage or key document unavailable; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}}}}},"/v1/health":{"get":{"operationId":"health","summary":"Database health (not model or payment-network readiness)","responses":{"200":{"description":"Database probe; degraded also returns HTTP 200.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"503":{"description":"Service, verification, storage or key document unavailable; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}}}}},"/v1/quote":{"post":{"operationId":"quote","summary":"Preview price without payment or minting a challenge","responses":{"200":{"description":"Preview only; input schema and token limits are checked at challenge time.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"409":{"description":"Price ceiling exceeded or credential not used; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Refusal"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"413":{"description":"Request or canonical input too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"422":{"description":"Invalid input, unavailable product/network, invalid payment terms or content refusal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"429":{"description":"Rate or fair-use limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"503":{"description":"Service, verification, storage or key document unavailable; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteRequest"},"examples":{"trade_check":{"value":{"product":"trade_check","input":{"transaction":{"chainId":8453,"from":"0x1111111111111111111111111111111111111111","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0xa9059cbb000000000000000000000000222222222222222222222222222222222222222200000000000000000000000000000000000000000000000000000000004c4b40","value":"0","gas":"65000","maxFeePerGas":"12000000","maxPriorityFeePerGas":"1000000"}}}},"stock_token_check":{"value":{"product":"stock_token_check","input":{"network":"eip155:4663","address":"0x1111111111111111111111111111111111111111","ticker":"AAPL"}}},"token_check":{"value":{"product":"token_check","input":{"network":"eip155:84532","address":"0x036cbd53842c5426634e7929541ec2318f3dcf7e"}}},"agent_registry_check":{"value":{"product":"agent_registry_check","input":{"network":"eip155:8453","agent_id":"1"}}},"scam_check":{"value":{"product":"scam_check","input":{"message":"Urgent: send funds to unlock your account.","source":"email"}}}}}}}}},"/v1/support":{"post":{"operationId":"submit_support","summary":"Queue a private message for the human operator","description":"Browser CORS permits only https://secondedoracle.xyz, POST and Content-Type, without credentials. OPTIONS /v1/support returns 204 for that preflight; other origins, methods or headers return 403. Stats has its own GET CORS contract. Retry-After is exposed on support POST responses.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportRequest"},"example":{"message":"I need help with a receipt.","topic":"billing","website":""}}}},"responses":{"202":{"description":"Durably queued; not a guarantee of Telegram delivery or a reply.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportQueued"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"403":{"description":"Browser Origin is not the exact permitted support-form origin.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"413":{"description":"Body exceeds 32768 bytes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"415":{"description":"Use application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"422":{"description":"Invalid JSON, text, fields or honeypot.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"429":{"description":"Per-IP rolling hourly limit or global UTC daily cap reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Support queue unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"}}}}}}},"/v1/x402/checks":{"post":{"operationId":"submit_standard_check","summary":"Standard x402 v2 check or same-credential recovery","responses":{"200":{"description":"Completed state; NOT VERIFIED is not an agreed verdict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResult"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"PAYMENT-RESPONSE":{"schema":{"type":"string"},"description":"Base64 JSON settlement response only on first included/final answer delivery with a settlement transaction."}}},"202":{"description":"Pending; retain the existing authorization and follow hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResult"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardPaymentRequired"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"PAYMENT-REQUIRED":{"required":true,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/StandardPaymentRequired"}}}}},"400":{"description":"Invalid payment or unsupported signature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Refusal"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"404":{"description":"Unknown or malformed check id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"409":{"description":"Price ceiling exceeded or credential not used; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Refusal"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"413":{"description":"Request or canonical input too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"422":{"description":"Invalid input, unavailable product/network, invalid payment terms or content refusal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"423":{"description":"Wallet frozen or unsettled check frozen.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"429":{"description":"Rate or fair-use limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"503":{"description":"Service, verification, storage or key document unavailable; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"405":{"description":"Method not allowed; use POST.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Allow":{"schema":{"const":"POST"}}}},"426":{"description":"Client upgrade required only when SECONDED-CLIENT-VERSION is sent with an unsupported value (empty, malformed, prerelease or older than 0.2.0). Omitted headers are accepted.","content":{"text/plain":{"schema":{"const":"client_upgrade_required"}}},"headers":{"SECONDED-MIN-CLIENT-VERSION":{"schema":{"const":"0.2.0"}},"Cache-Control":{"schema":{"const":"no-store"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckRequest"},"examples":{"trade_check":{"value":{"product":"trade_check","input":{"transaction":{"chainId":8453,"from":"0x1111111111111111111111111111111111111111","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0xa9059cbb000000000000000000000000222222222222222222222222222222222222222200000000000000000000000000000000000000000000000000000000004c4b40","value":"0","gas":"65000","maxFeePerGas":"12000000","maxPriorityFeePerGas":"1000000"}}}},"stock_token_check":{"value":{"product":"stock_token_check","input":{"network":"eip155:4663","address":"0x1111111111111111111111111111111111111111","ticker":"AAPL"}}},"token_check":{"value":{"product":"token_check","input":{"network":"eip155:84532","address":"0x036cbd53842c5426634e7929541ec2318f3dcf7e"}}},"agent_registry_check":{"value":{"product":"agent_registry_check","input":{"network":"eip155:8453","agent_id":"1"}}},"scam_check":{"value":{"product":"scam_check","input":{"message":"Urgent: send funds to unlock your account.","source":"email"}}}}}}},"parameters":[{"in":"header","name":"PAYMENT-SIGNATURE","required":false,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/StandardPaymentPayload"},"maxLength":65536},"description":"Base64 JSON x402 v2 payload. Echo accepted exactly, including its public terms ticket; retain and retry the same credential on uncertainty. Maximum 64 KiB, including any echoed Bazaar metadata."},{"in":"header","name":"Prefer","required":false,"schema":{"type":"string"},"description":"wait=N seconds, capped at 25; malformed values ignored. POST defaults to 20, GET to 0."},{"in":"header","name":"X-PAYMENT","required":false,"schema":{"type":"string"},"description":"Legacy x402 v1 is refused with 400 x402_version_unsupported."},{"in":"header","name":"SIGN-IN-WITH-X","required":false,"schema":{"type":"string"},"description":"Optional SIWX claim for this signer under the public terms before payment."},{"in":"header","name":"SECONDED-CLIENT-VERSION","required":false,"schema":{"type":"string"},"description":"Optional for direct x402 callers. If sent, must be stable SemVer >= 0.2.0; empty, malformed, prerelease and older versions are refused by the deployment admission gate."}],"x-payment-info":{"price":{"mode":"variable","currency":"USDC","amount":"0.250000","description":"Minimum price. The product and canonical input size select a fixed tier; preview /v1/quote."},"protocols":[{"x402":{}}],"x-price-tiers":[{"product":"trade_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"trade_check","tier":"medium","max_billable_bytes":65536,"amount":"1.500000"},{"product":"stock_token_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"token_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"agent_registry_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"scam_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"scam_check","tier":"medium","max_billable_bytes":65536,"amount":"1.500000"},{"product":"scam_check","tier":"large","max_billable_bytes":131072,"amount":"2.500000"}]},"description":"The standard door is live on Base, Arc and Robinhood Chain for ordinary (EOA) wallets. A cell that is not enabled is left out of new 402s and refused cleanly before anything is charged. GET is refused with 405 and Allow: POST. The unpaid 402 body and decoded PAYMENT-REQUIRED header are identical. A paid request never receives 402. The challenge and accepted terms come from stored immutable offer content and quote rows, preserved across releases, configuration changes and key rotation. Recovery compares original terms without requiring a retired ticket key. Public 402s contain nonexclusive terms tickets and no purchase IDs, input commitments, salts or exact billable byte counts. Purchases are unique per template and verified payer; another nonce conflicts. Verify the signed purchase_association against the original authorization and request. Keep the complete accepted terms and payment credential. SIWX is an optional attestation, under the conditions in docs/x402-door.md#optional-siwx. On the standard door, until your payment is first admitted, SECONDED relies on your payment header staying private. Anyone who captures it before then could use your payment for their own check. The door admits a payment only while its authorization has 260 to 410 seconds of validity left. With the official SDKs and a clock within 30 seconds of UTC, that ends at most about two and a half minutes after you sign; a signer that sets its own expiry can stay usable for longer. The optional x402 Sign-In-With-X extension adds protection only to a purchase whose claim the door answers as `recorded`, paid from that same wallet, under the conditions at https://secondedoracle.xyz/docs/x402-door#optional-siwx. If your wallet declines to sign, the purchase goes ahead without that protection; if the door refuses the claim, nothing is paid. A refused payment stays valid on-chain until it expires, so keep it private until then. Never log, share or proxy-capture payment headers or recovery records; treat them like passwords. Public 402 tickets do not authorize access or reserve purchases of other payers. The original door (`/v1/checks`) binds your signature to the quote and does not have this gap."}},"/v1/checks":{"post":{"operationId":"submit_check","summary":"Request a payment challenge or retry a paid check","responses":{"200":{"description":"Completed state; NOT VERIFIED is not an agreed verdict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResult"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"202":{"description":"Pending; retain the existing authorization and follow hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResult"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"PAYMENT-REQUIRED":{"required":true,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/PaymentRequired"}}}}},"400":{"description":"Invalid payment or unsupported signature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Refusal"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"409":{"description":"Price ceiling exceeded or credential not used; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Refusal"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"413":{"description":"Request or canonical input too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"422":{"description":"Invalid input, unavailable product/network, invalid payment terms or content refusal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"423":{"description":"Wallet frozen or unsettled check frozen.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"429":{"description":"Rate or fair-use limit. disagreement_limited and hidden_text_unresolved_limited return retry_after and Retry-After with whole seconds until this wallet could be admitted again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"503":{"description":"Service, verification, storage or key document unavailable; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"426":{"description":"Client upgrade required only when SECONDED-CLIENT-VERSION is sent with an unsupported value (empty, malformed, prerelease or older than 0.2.0). Omitted headers are accepted.","content":{"text/plain":{"schema":{"const":"client_upgrade_required"}}},"headers":{"SECONDED-MIN-CLIENT-VERSION":{"schema":{"const":"0.2.0"}},"Cache-Control":{"schema":{"const":"no-store"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckRequest"},"examples":{"trade_check":{"value":{"product":"trade_check","input":{"transaction":{"chainId":8453,"from":"0x1111111111111111111111111111111111111111","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0xa9059cbb000000000000000000000000222222222222222222222222222222222222222200000000000000000000000000000000000000000000000000000000004c4b40","value":"0","gas":"65000","maxFeePerGas":"12000000","maxPriorityFeePerGas":"1000000"}}}},"stock_token_check":{"value":{"product":"stock_token_check","input":{"network":"eip155:4663","address":"0x1111111111111111111111111111111111111111","ticker":"AAPL"}}},"token_check":{"value":{"product":"token_check","input":{"network":"eip155:84532","address":"0x036cbd53842c5426634e7929541ec2318f3dcf7e"}}},"agent_registry_check":{"value":{"product":"agent_registry_check","input":{"network":"eip155:8453","agent_id":"1"}}},"scam_check":{"value":{"product":"scam_check","input":{"message":"Urgent: send funds to unlock your account.","source":"email"}}}}}}},"parameters":[{"in":"header","name":"PAYMENT-SIGNATURE","required":false,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/PaymentPayload"}},"description":"Base64 JSON x402 v2 payment payload. Copy accepted terms and use extra.authNonce; retry the same credential on uncertainty."},{"in":"header","name":"Prefer","required":false,"schema":{"type":"string"},"description":"wait=N seconds, capped at 25; malformed values ignored. POST defaults to 20, GET to 0."},{"in":"header","name":"SECONDED-CLIENT-VERSION","required":false,"schema":{"type":"string"},"description":"Optional for direct x402 callers. If sent, must be stable SemVer >= 0.2.0; empty, malformed, prerelease and older versions are refused by the deployment admission gate."}],"x-payment-info":{"price":{"mode":"variable","currency":"USDC","amount":"0.250000","description":"Minimum price. The product and canonical input size select a fixed tier; preview /v1/quote."},"protocols":[{"x402":{}}],"x-price-tiers":[{"product":"trade_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"trade_check","tier":"medium","max_billable_bytes":65536,"amount":"1.500000"},{"product":"stock_token_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"token_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"agent_registry_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"scam_check","tier":"small","max_billable_bytes":8192,"amount":"0.250000"},{"product":"scam_check","tier":"medium","max_billable_bytes":65536,"amount":"1.500000"},{"product":"scam_check","tier":"large","max_billable_bytes":131072,"amount":"2.500000"}]},"description":"Direct x402 access: POST the check input without a SECONDED-CLIENT-VERSION header; receive 402 with payment requirements; retry the same input with PAYMENT-SIGNATURE. Then fetch the answer and signed receipt with the paying wallet's ownership-authenticated GET after settlement. POST and credential replays never release the answer. Use the ownership-authenticated GET. The 402 body and decoded PAYMENT-REQUIRED header are identical. Pricing is tiered by product and canonical input bytes; x-payment-info.price.amount is the minimum, not a fixed price for all requests. Preview the exact price with POST /v1/quote. SECONDED checks require agreement between two rival-lab models. Disagreement means NOT VERIFIED: pause or ask a human; no verdict is released and SECONDED does not settle payment. The current disagreement receipt conservatively reports billing.charged=pending, not no. Only an agreed signed receipt for the exact input authorizes the documented next step. AI-generated checks are not financial advice or a guarantee. Preview prices with POST /v1/quote; request a bound payment challenge with POST /v1/checks. All amounts use six decimal places. The network registry, not a launch announcement, determines availability."}},"/v1/checks/{check_id}":{"get":{"operationId":"get_check","summary":"Fetch a check using proof from the paying wallet","responses":{"200":{"description":"Completed state; NOT VERIFIED is not an agreed verdict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResult"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"202":{"description":"Pending; retain the existing authorization and follow hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResult"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"401":{"description":"Sign the supplied ownership typed data to read this check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OwnershipChallenge"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"404":{"description":"Unknown or malformed check id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"422":{"description":"Invalid input, unavailable product/network, invalid payment terms or content refusal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"423":{"description":"Wallet frozen or unsettled check frozen.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}}}},"429":{"description":"Rate or fair-use limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}},"503":{"description":"Service, verification, storage or key document unavailable; follow retry hints.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Failure"}}},"headers":{"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds when supplied."}}}},"parameters":[{"in":"header","name":"SECONDED-OWNERSHIP","required":false,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/OwnershipProof"}},"description":"Base64 JSON OwnershipProof; sign OwnershipTypedData from the 401 using the payer wallet. Off-chain proof transfers no funds."},{"in":"header","name":"Prefer","required":false,"schema":{"type":"string"},"description":"wait=N seconds, capped at 25; malformed values ignored. POST defaults to 20, GET to 0."},{"in":"header","name":"SECONDED-CLIENT-VERSION","required":false,"schema":{"type":"string"},"description":"A single stable SemVer >= 0.3.0 enables optional stock answer facts. Missing, malformed, duplicate, prerelease or older versions receive the legacy answer shape."},{"in":"path","name":"check_id","required":true,"schema":{"type":"string","pattern":"^[0-9a-f]{32}$"}}]}}},"components":{"schemas":{"trade_checkInput":{"type":"object","description":"Before signing a trade, approval, transfer or permit. Exactly one of transaction or typed_data, at most 20000 bytes as compact JSON. Maximum input nesting depth is 64.","properties":{"transaction":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"chainId":{"oneOf":[{"type":"integer","enum":[8453,5042,4663]},{"type":"string","maxLength":78,"pattern":"^(0*(8453|5042|4663)|0x0*(2105|13[bB]2|1237))$"}],"description":"Chain 8453, 5042 or 4663, as an integer, decimal string or 0x hex string; any other chain is refused before payment."},"from":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"0x-prefixed address of the account that would send the transaction."},"to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"0x-prefixed recipient or called contract address; contract creation is unsupported."},"data":{"type":"string","pattern":"^0x([0-9a-fA-F]{2})*$","maxLength":16386,"description":"Calldata hex; \"0x\" for a plain transfer. At most 8192 bytes."},"value":{"oneOf":[{"type":"integer","minimum":0},{"type":"string","pattern":"^(0x[0-9a-fA-F]+|[0-9]+)$"}],"description":"Native currency value transferred by the transaction, in wei."},"gas":{"oneOf":[{"type":"integer","minimum":0},{"type":"string","pattern":"^(0x[0-9a-fA-F]+|[0-9]+)$"}],"description":"Proposed transaction gas limit, in gas units."},"gasPrice":{"oneOf":[{"type":"integer","minimum":0},{"type":"string","pattern":"^(0x[0-9a-fA-F]+|[0-9]+)$"}],"description":"Legacy gas price in wei per gas; mutually exclusive with EIP-1559 fee fields."},"maxFeePerGas":{"oneOf":[{"type":"integer","minimum":0},{"type":"string","pattern":"^(0x[0-9a-fA-F]+|[0-9]+)$"}],"description":"EIP-1559 maximum total fee in wei per gas; also supply maxPriorityFeePerGas."},"maxPriorityFeePerGas":{"oneOf":[{"type":"integer","minimum":0},{"type":"string","pattern":"^(0x[0-9a-fA-F]+|[0-9]+)$"}],"description":"EIP-1559 maximum tip in wei per gas; must not exceed maxFeePerGas."}},"required":["chainId","from","to","value","data"],"not":{"required":["gasPrice"],"anyOf":[{"required":["maxFeePerGas"]},{"required":["maxPriorityFeePerGas"]}]},"description":"The exact unsigned transaction you would sign, amounts in wei. Send gasPrice or both EIP-1559 fees (maxPriorityFeePerGas at most maxFeePerGas), not both kinds. A contract creation (no to) is refused. The answer covers only these fields; check again if any field changes.","dependentRequired":{"maxFeePerGas":["maxPriorityFeePerGas"],"maxPriorityFeePerGas":["maxFeePerGas"]}},{"type":"null"}],"description":"Exact unsigned EVM transaction to inspect before signing."},"typed_data":{"anyOf":[{"type":"object","description":"EIP-712 typed data (eth_signTypedData_v4) for an ERC-2612 Permit or a Permit2 permit on chain 8453, 5042 or 4663, exactly as you would sign it.","properties":{"types":{"type":"object","description":"EIP-712 type definitions, including the fields and types used by this permit."},"primaryType":{"enum":["Permit","PermitBatch","PermitBatchTransferFrom","PermitSingle","PermitTransferFrom"],"description":"Supported EIP-712 permit type to sign."},"domain":{"type":"object","description":"Exact EIP-712 signing domain, including chainId and verifyingContract."},"message":{"type":"object","description":"Exact structured permit message whose fields are defined by types and primaryType."}},"required":["types","primaryType","domain","message"],"additionalProperties":false},{"type":"null"}],"description":"Exact EIP-712 permit typed data to inspect before signing."}},"required":[],"additionalProperties":false,"oneOf":[{"required":["transaction"],"properties":{"transaction":{"type":"object","description":"Exact unsigned EVM transaction to inspect before signing."}}},{"required":["typed_data"],"properties":{"typed_data":{"type":"object","description":"Exact EIP-712 permit typed data to inspect before signing."}}}]},"stock_token_checkInput":{"type":"object","additionalProperties":false,"required":["network","address"],"properties":{"network":{"type":"string","enum":["eip155:4663","eip155:8453"],"description":"CAIP-2 network of the subject being checked; independent of options.network used for payment."},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"0x-prefixed contract address of the token to check on the selected input network."},"ticker":{"anyOf":[{"type":"string","pattern":"^[A-Z0-9][A-Z0-9.]{0,15}c?$"},{"type":"null"}],"description":"Expected stock ticker to compare with the authoritative stock-token registry."},"intended_price_usd":{"anyOf":[{"oneOf":[{"type":"number","exclusiveMinimum":0},{"type":"string","pattern":"^(0|[1-9][0-9]{0,11})(\\.[0-9]{1,18})?$"}]},{"type":"null"}],"description":"Proposed positive price per stock token in USD, for comparison with available reference data."}},"description":"Before interacting with a Robinhood or Coinbase Base stock token. Maximum input nesting depth is 64."},"token_checkInput":{"type":"object","properties":{"network":{"type":"string","enum":["eip155:84532","eip155:8453","eip155:5042","eip155:4663"],"description":"CAIP-2 network of the subject being checked; independent of options.network used for payment."},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"0x-prefixed contract address of the token to check on the selected input network."},"context":{"anyOf":[{"type":"string","minLength":1,"maxLength":2000,"pattern":"\\S"},{"type":"null"}],"description":"Optional background and intended use to help interpret the submitted check."}},"required":["network","address"],"additionalProperties":false,"description":"Before interacting with a token. Maximum input nesting depth is 64."},"agent_registry_checkInput":{"type":"object","additionalProperties":false,"required":["network","agent_id"],"properties":{"network":{"type":"string","enum":["eip155:8453","eip155:5042","eip155:4663"],"description":"CAIP-2 network of the subject being checked; independent of options.network used for payment."},"agent_id":{"oneOf":[{"type":"integer","minimum":0,"maximum":115792089237316195423570985008687907853269984665640564039457584007913129639935},{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}],"description":"ERC-8004 agent registration identifier as an unsigned uint256 integer or decimal string."},"claimed_owner":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Expected owner address to compare with the agent's onchain registration."},"claimed_wallet":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Expected agent wallet address to compare with the onchain registration."},"context":{"anyOf":[{"type":"string","minLength":1,"maxLength":2000,"pattern":"\\S"},{"type":"null"}],"description":"Optional background and intended use to help interpret the submitted check."}},"description":"Before relying on an agent registration claim. Maximum input nesting depth is 64."},"scam_checkInput":{"type":"object","properties":{"message":{"type":"string","minLength":1,"maxLength":400000,"pattern":"\\S","description":"Exact suspicious message to inspect before acting on its instructions or links."},"source":{"anyOf":[{"type":"string","enum":["email","chat","social","web","agent","other"]},{"type":"null"}],"description":"Channel where the suspicious message originated."},"context":{"anyOf":[{"type":"string","minLength":1,"maxLength":100000,"pattern":"\\S"},{"type":"null"}],"description":"Optional background and intended use to help interpret the submitted check."}},"required":["message"],"additionalProperties":false,"description":"Before acting on an incoming message. Maximum input nesting depth is 64."},"Stats":{"type":"object","properties":{"checks_total":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"checks_24h":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"agents_total":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"agreed_rate":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"by_product":{"type":"object","properties":{"trade_check":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"stock_token_check":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"token_check":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"agent_registry_check":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"scam_check":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"code_review":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"owner_instruction_check":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]},"hidden_prompt_check":{"anyOf":[{"type":"integer","minimum":5},{"type":"null"}]}},"required":["trade_check","stock_token_check","token_check","agent_registry_check","scam_check","code_review","owner_instruction_check","hidden_prompt_check"],"additionalProperties":false},"network":{"enum":["testnet","mainnet"]},"updated_at":{"type":"string","format":"date-time"}},"required":["checks_total","checks_24h","agents_total","agreed_rate","by_product","network","updated_at"],"additionalProperties":false,"description":"Aggregates of retained paid-mode admissions on the running profile's enabled networks. A check completes at agreement or a terminal outcome; checks_24h uses that time. agents_total counts distinct wallets with a PAID_FINAL check. Counts below five, including zero, or check buckets with fewer than five distinct wallets are null. agreed_rate is agreed/completed, null unless both agreed and other outcomes each contain at least five checks and five wallets. Product keys come only from the public catalog. An additional product bucket can be null to prevent reconstructing a suppressed bucket by subtraction. Retention expiry can reduce totals; these are not lifetime counters. updated_at is the UTC snapshot time."},"SupportRequest":{"type":"object","properties":{"message":{"type":"string","minLength":1,"maxLength":2000},"reply_to":{"type":"string","maxLength":200},"topic":{"enum":["billing","refund","bug","other"],"default":"other"},"website":{"const":"","description":"Required empty honeypot; hide from human form users."}},"required":["message","website"],"additionalProperties":false,"description":"Human support only; never sent to AI. Maximum JSON body 32768 bytes. No unknown or duplicate fields, nulls, HTML delimiters or Unicode control/format characters except newline. Whitespace is normalized; message must remain nonempty. Five accepted messages per IP per rolling hour and 200 per UTC day globally."},"SupportQueued":{"type":"object","properties":{"reference":{"type":"string","pattern":"^[0-9a-f]{12}$"},"status":{"const":"queued"}},"required":["reference","status"],"additionalProperties":false},"Options":{"type":"object","properties":{"network":{"enum":["eip155:8453","eip155:5042","eip155:4663"],"default":"eip155:8453","description":"CAIP-2 payment network for this quote; the challenge binds one selected network."},"payer":{"description":"Compatibility hint; currently ignored. The signed authorization identifies the payer."},"max_price":{"type":["string","number"],"minimum":0,"description":"Nonnegative finite USD ceiling; numeric strings use Python Decimal syntax. Exceeding it returns 409."}},"required":[],"additionalProperties":false},"QuoteRequest":{"type":"object","properties":{"product":{"enum":["trade_check","stock_token_check","token_check","agent_registry_check","scam_check"]},"input":{},"options":{"$ref":"#/components/schemas/Options"}},"required":["product","input"],"additionalProperties":false,"description":"Price preview accepts any canonicalizable JSON input, including null. Product validation occurs at challenge time. Total body limit: 614400 bytes. Duplicate keys, non-finite numbers and unknown top-level/options keys are rejected."},"trade_checkRequest":{"type":"object","properties":{"product":{"const":"trade_check","description":"Identifier of the check to purchase."},"input":{"$ref":"#/components/schemas/trade_checkInput","description":"transaction (the exact unsigned tx) or typed_data (an EIP-712 permit); no prose"},"options":{"$ref":"#/components/schemas/Options","description":"Optional payment network and price ceiling."}},"required":["product","input"],"additionalProperties":false,"examples":[{"product":"trade_check","input":{"transaction":{"chainId":8453,"from":"0x1111111111111111111111111111111111111111","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0xa9059cbb000000000000000000000000222222222222222222222222222222222222222200000000000000000000000000000000000000000000000000000000004c4b40","value":"0","gas":"65000","maxFeePerGas":"12000000","maxPriorityFeePerGas":"1000000"}}}]},"stock_token_checkRequest":{"type":"object","properties":{"product":{"const":"stock_token_check","description":"Identifier of the check to purchase."},"input":{"$ref":"#/components/schemas/stock_token_checkInput","description":"network, address; ticker and intended_price_usd optional"},"options":{"$ref":"#/components/schemas/Options","description":"Optional payment network and price ceiling."}},"required":["product","input"],"additionalProperties":false,"examples":[{"product":"stock_token_check","input":{"network":"eip155:4663","address":"0x1111111111111111111111111111111111111111","ticker":"AAPL"}}]},"token_checkRequest":{"type":"object","properties":{"product":{"const":"token_check","description":"Identifier of the check to purchase."},"input":{"$ref":"#/components/schemas/token_checkInput","description":"network, address"},"options":{"$ref":"#/components/schemas/Options","description":"Optional payment network and price ceiling."}},"required":["product","input"],"additionalProperties":false,"examples":[{"product":"token_check","input":{"network":"eip155:84532","address":"0x036cbd53842c5426634e7929541ec2318f3dcf7e"}}]},"agent_registry_checkRequest":{"type":"object","properties":{"product":{"const":"agent_registry_check","description":"Identifier of the check to purchase."},"input":{"$ref":"#/components/schemas/agent_registry_checkInput","description":"network, agent_id; claimed_owner, claimed_wallet and context optional"},"options":{"$ref":"#/components/schemas/Options","description":"Optional payment network and price ceiling."}},"required":["product","input"],"additionalProperties":false,"examples":[{"product":"agent_registry_check","input":{"network":"eip155:8453","agent_id":"1"}}]},"scam_checkRequest":{"type":"object","properties":{"product":{"const":"scam_check","description":"Identifier of the check to purchase."},"input":{"$ref":"#/components/schemas/scam_checkInput","description":"message"},"options":{"$ref":"#/components/schemas/Options","description":"Optional payment network and price ceiling."}},"required":["product","input"],"additionalProperties":false,"examples":[{"product":"scam_check","input":{"message":"Urgent: send funds to unlock your account.","source":"email"}}]},"CheckRequest":{"oneOf":[{"$ref":"#/components/schemas/trade_checkRequest"},{"$ref":"#/components/schemas/stock_token_checkRequest"},{"$ref":"#/components/schemas/token_checkRequest"},{"$ref":"#/components/schemas/agent_registry_checkRequest"},{"$ref":"#/components/schemas/scam_checkRequest"}],"discriminator":{"propertyName":"product"},"description":"New-check inputs for the real engine. Paid retries must preserve the original input. Total body limit 614400 bytes; JCS input limit Trade Check 65536 bytes; Stock Token Check 8192 bytes; Token Check 8192 bytes; Agent Registry Check 8192 bytes; Scam Check 131072 bytes; depth limit 64. Token and admission checks can reject an otherwise schema-valid request."},"Quote":{"type":"object","properties":{"product":{"enum":["trade_check","stock_token_check","token_check","agent_registry_check","scam_check"]},"tier":{"enum":["small","medium","large"]},"billable_bytes":{"type":"integer"},"price_usd":{"type":"string"},"token_check":{"const":"at_challenge"},"networks":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","properties":{"network":{"enum":["eip155:8453","eip155:5042","eip155:4663"]},"asset":{"type":"string"},"amount_atomic":{"type":"string","pattern":"^[0-9]+$"}},"required":["network","asset","amount_atomic"],"additionalProperties":false}},"disclaimer":{"const":"not_financial_advice_ai_generated"}},"required":["product","tier","billable_bytes","price_usd","token_check","networks"],"additionalProperties":false},"PaymentRequirement":{"type":"object","properties":{"scheme":{"const":"exact"},"network":{"enum":["eip155:8453","eip155:5042","eip155:4663"]},"amount":{"type":"string","pattern":"^[0-9]+$"},"asset":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"payTo":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"maxTimeoutSeconds":{"type":"integer"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"authNonce":{"type":"string","pattern":"^0x[0-9a-f]{64}$"}},"required":["name","version","authNonce"],"additionalProperties":false}},"required":["scheme","network","amount","asset","payTo","maxTimeoutSeconds","extra"],"additionalProperties":false},"Bazaar":{"type":"object","properties":{"info":{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"const":"http"},"method":{"const":"POST"}},"required":["type","method"],"additionalProperties":false}},"required":["input"],"additionalProperties":false},"schema":{"type":"object","description":"JSON Schema validating info."}},"required":["info","schema"],"additionalProperties":false},"PaymentRequired":{"type":"object","properties":{"x402Version":{"const":2},"accepts":{"type":"array","minItems":1,"maxItems":1,"items":{"$ref":"#/components/schemas/PaymentRequirement"}},"seconded":{"type":"object","properties":{"quote_id":{"type":"string","pattern":"^[0-9a-f]{32}$"},"check_id":{"type":"string","pattern":"^[0-9a-f]{32}$"},"tier":{"enum":["small","medium","large"]},"billable_bytes":{"type":"integer"},"price_usd":{"type":"string"},"commitment_salt":{"type":"string","pattern":"^[0-9a-f]{64}$"},"request_commitment":{"type":"string","pattern":"^[0-9a-f]{64}$"},"max_valid_before":{"type":"integer"},"min_remaining_s":{"type":"integer"},"expires_at":{"type":"integer"},"recovery_nonce":{"type":"string","pattern":"^[0-9a-f]{32}$"},"binding":{"const":"quote_nonce"}},"required":["quote_id","check_id","tier","billable_bytes","price_usd","commitment_salt","request_commitment","max_valid_before","min_remaining_s","expires_at","recovery_nonce","binding"],"additionalProperties":false},"extensions":{"type":"object","properties":{"bazaar":{"$ref":"#/components/schemas/Bazaar"}},"required":["bazaar"],"additionalProperties":false}},"required":["x402Version","accepts","seconded","extensions"],"additionalProperties":false},"Hints":{"type":"object","properties":{"do_not_resign":{"type":"boolean"},"poll_after_s":{"anyOf":[{"type":"integer"},{"type":"null"}]},"new_quote_allowed":{"type":"boolean"}},"required":["do_not_resign","poll_after_s","new_quote_allowed"],"additionalProperties":false},"Billing":{"type":"object","properties":{"mode":{"type":"string"},"charged":{"enum":["yes","no","pending","refund_owed","refunded"]},"network":{"type":"string"},"asset":{"type":"string"},"amount_atomic":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payer":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"null"}]},"pay_to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"tx":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlement":{"enum":["included","final","nonpayment_certified","unknown","none"]},"refund":{"enum":[null,"refund_owed","refunded"]}},"required":["mode","charged","network","asset","amount_atomic","payer","pay_to","tx","settlement","refund"],"additionalProperties":false},"StockParity":{"type":"object","properties":{"status":{"enum":["measured","not_checked"]},"reason":{"anyOf":[{"enum":["regular_session_closed","identity_unverified","oracle_paused","oracle_pause_unknown","trading_halted","corporate_action_pending","reference_unavailable","reference_stale","reference_basis_unknown","multiplier_unknown","pool_timestamp_unavailable","pool_stale","pool_scope_unavailable","factory_code_mismatch","no_supported_pool","quote_reference_unavailable","pool_state_unavailable"]},{"type":"null"}]},"unit":{"const":"usd_per_token"},"pool":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"null"}]},"quote_asset":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"null"}]},"pool_price_usd":{"anyOf":[{"type":"string","pattern":"^-?(0|[1-9][0-9]*)\\.[0-9]{8}$"},{"type":"null"}]},"reference_price_usd":{"anyOf":[{"type":"string","pattern":"^-?(0|[1-9][0-9]*)\\.[0-9]{8}$"},{"type":"null"}]},"premium_discount_bps":{"anyOf":[{"type":"string","pattern":"^-?(0|[1-9][0-9]*)\\.[0-9]{8}$"},{"type":"null"}]},"pool_observed_at":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}]},"reference_updated_at":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}]},"quote_usd_updated_at":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}]},"reference_source":{"anyOf":[{"enum":["chainlink_total_return","issuer_token_quote"]},{"type":"null"}]},"unmeasured":{"type":"array","uniqueItems":true,"maxItems":8,"items":{"enum":["exchange_holidays","exchange_early_closes","venue_execution","other_pools","pool_depth","trading_halts","scheduled_corporate_actions","oracle_pause"]}}},"required":["status","reason","unit","pool","quote_asset","pool_price_usd","reference_price_usd","premium_discount_bps","pool_observed_at","reference_updated_at","quote_usd_updated_at","reference_source","unmeasured"],"additionalProperties":false,"description":"Facts only. Positive basis points mean premium; negative mean discount. Prices are USD per raw token; Base total-return prices already include the multiplier. Robinhood uses the validated issuer token quote because its Chainlink denomination is unresolved. Pinned Uniswap V3 native stablecoin pairs only; first initialized liquid pool in fee order 100, 500, 3000, 10000. No best-price or execution claim. No parity outside regular weekday hours or with stale reference, pause, halt or pending multiplier change. Reference must have updated since today's regular session start. Unix timestamps are seconds."},"StockMarketStatus":{"type":"object","properties":{"regular_session":{"enum":["scheduled_open","scheduled_closed"]},"calendar":{"const":"weekday_hours_only"},"timezone":{"const":"America/New_York"},"observed_at":{"type":"integer","minimum":1},"oracle_paused":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"corporate_action_pending":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"corporate_action_effective_at":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}]},"trading_halt":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"unmeasured":{"type":"array","uniqueItems":true,"maxItems":8,"items":{"enum":["exchange_holidays","exchange_early_closes","venue_execution","other_pools","pool_depth","trading_halts","scheduled_corporate_actions","oracle_pause"]}}},"required":["regular_session","calendar","timezone","observed_at","oracle_paused","corporate_action_pending","corporate_action_effective_at","trading_halt","unmeasured"],"additionalProperties":false,"description":"DST-aware scheduled weekday 09:30–16:00 New York session, not confirmation that an exchange or venue is open. Holidays, early closes and execution availability are unmeasured. Null flags mean unknown. Oracle pause does not establish a transfer restriction. Base does not expose a trading-halt or scheduled-action feed."},"Answer":{"type":"object","properties":{"option":{"type":"integer","description":"One-based index into the product template's ordered label list; not the order of keys in answer_to_action. Use label_id for action lookup."},"label_id":{"type":"string","description":"Key into this product's answer_to_action map in GET /v1/products. Select the product by receipt.envelope.product."},"parity":{"$ref":"#/components/schemas/StockParity"},"market_status":{"$ref":"#/components/schemas/StockMarketStatus"}},"required":["option","label_id"],"additionalProperties":false,"description":"Stock Token Check may include parity and market_status when the ownership GET supplies a stable SECONDED-CLIENT-VERSION >= 0.3.0. Other products and older clients retain the original answer. The facts are encrypted with the answer and signed inside the receipt; labels and price are unchanged."},"Verification":{"type":"object","properties":{"schema":{"const":"seconded-verification/v1"},"evidence_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"block":{"anyOf":[{"type":"object","properties":{"chain_id":{"type":"integer","minimum":1},"number":{"type":"integer","minimum":0},"hash":{"type":"string","pattern":"^0x[0-9a-f]{64}$"}},"required":["chain_id","number","hash"],"additionalProperties":false},{"type":"null"}]},"findings":{"type":"array","maxItems":48,"items":{"type":"object","properties":{"code":{"type":"string"},"severity":{"enum":["hard","soft"]},"values":{"type":"object"}},"required":["code","severity","values"],"additionalProperties":false}},"coverage":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"object","properties":{"fact":{"type":"string"},"status":{"enum":["checked","partial","not_checked","unavailable"]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["fact","status","reason"],"additionalProperties":false}}},"required":["schema","evidence_sha256","block","findings","coverage"],"additionalProperties":false,"description":"Signed findings and coverage bound to the canonical evidence sheet's SHA-256. Finding values are bounded facts; hidden-text quotes are untrusted source excerpts. A null block means no pinned onchain block. Non-checked coverage states include a reason."},"ReceiptEnvelope":{"type":"object","properties":{"v":{"enum":[1,2,3]},"kind":{"const":"seconded-receipt"},"check_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{32}$"},{"type":"null"}]},"seq":{"type":"integer"},"issued_at":{"type":"string","format":"date-time"},"outcome_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"product":{"anyOf":[{"type":"string"},{"type":"null"}]},"product_schema_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"predicate_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"template_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"model_pair_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"tier":{"anyOf":[{"type":"string"},{"type":"null"}]},"request_digest":{"anyOf":[{"type":"string"},{"type":"null"}]},"request_commitment":{"anyOf":[{"type":"string"},{"type":"null"}]},"lane":{"anyOf":[{"type":"string"},{"type":"null"}]},"checked_by":{"type":"array","items":{"type":"string"}},"model_config_fingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"model_config_fingerprints":{"type":"object","additionalProperties":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"state":{"enum":["closed_no_charge","content_refused","delayed","final","frozen_unsettled","included","no_agreement","refund_owed","refunded","refused","released","running","service_failed","settling","unavailable"]},"outcome":{"enum":[null,"agreed","no_agreement","content_refused","service_failed"]},"disclaimer":{"enum":[null,"","not_financial_advice_ai_generated"]},"billing":{"$ref":"#/components/schemas/Billing"},"unfreeze_at":{"type":"null"},"key_id":{"type":"string"},"purchase_association":{"type":"object","properties":{"v":{"const":1},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["v","sha256"],"additionalProperties":false,"description":"Authenticated purchase association: SHA-256 of seconded-purchase-association/v1 plus NUL and RFC 8785 of normalized full authorization, accepted terms without ticket, and canonical request. Present for payer-bound purchases; historical receipts keep their original association contract."},"answer":{"$ref":"#/components/schemas/Answer"},"verification":{"$ref":"#/components/schemas/Verification"},"status":{"const":"not_verified"},"message":{"type":"string"},"reason":{"enum":["contradicts_verified_fact","disagreed","engine_error","evidence_unbound","hidden_text_unresolved","model_declined","prefetch_unavailable","provider_unavailable","timed_out"]}},"required":["v","kind","check_id","seq","issued_at","outcome_at","product","product_schema_version","predicate_version","template_version","model_pair_id","tier","request_digest","request_commitment","lane","checked_by","model_config_fingerprint","model_config_fingerprints","state","outcome","disclaimer","billing","unfreeze_at","key_id"],"additionalProperties":false,"allOf":[{"if":{"properties":{"state":{"const":"no_agreement"}}},"then":{"required":["status","message","reason"],"properties":{"reason":{"enum":["contradicts_verified_fact","disagreed","evidence_unbound","hidden_text_unresolved","model_declined","timed_out"]}}},"else":{"if":{"properties":{"state":{"const":"service_failed"}}},"then":{"properties":{"reason":{"enum":["engine_error","prefetch_unavailable","provider_unavailable"]}},"not":{"anyOf":[{"required":["status"]},{"required":["message"]}]}},"else":{"not":{"anyOf":[{"required":["status"]},{"required":["message"]},{"required":["reason"]}]}}}},{"if":{"required":["answer"]},"then":{"properties":{"state":{"enum":["included","final","released"]}}}},{"if":{"properties":{"v":{"const":3}}},"then":{"required":["verification"]},"else":{"not":{"required":["verification"]}}},{"if":{"properties":{"state":{"const":"released"}}},"then":{"properties":{"v":{"enum":[2,3]}}}}]},"SignedReceipt":{"type":"object","properties":{"envelope":{"$ref":"#/components/schemas/ReceiptEnvelope"},"sig":{"type":"string","pattern":"^[A-Za-z0-9_-]{86}$","description":"Unpadded base64url Ed25519 signature. Select the ASCII prefix by envelope.v: v: 1 uses SECONDED-RECEIPT/v1; v: 2 uses SECONDED-RECEIPT/v2; v: 3 uses SECONDED-RECEIPT/v3. Append one NUL byte, then RFC 8785 canonical JSON of the complete envelope, including its key_id and, for v3, verification."},"key_id":{"type":"string"}},"required":["envelope","sig","key_id"],"additionalProperties":false},"CheckResult":{"type":"object","properties":{"receipt":{"$ref":"#/components/schemas/SignedReceipt"},"hints":{"$ref":"#/components/schemas/Hints"},"status":{"const":"not_verified"},"message":{"type":"string"},"reason":{"enum":["contradicts_verified_fact","disagreed","engine_error","evidence_unbound","hidden_text_unresolved","model_declined","prefetch_unavailable","provider_unavailable","timed_out"]}},"required":["receipt","hints"],"additionalProperties":false,"allOf":[{"if":{"properties":{"receipt":{"properties":{"envelope":{"properties":{"state":{"const":"no_agreement"}}}}}}},"then":{"required":["status","message","reason"],"properties":{"reason":{"enum":["contradicts_verified_fact","disagreed","evidence_unbound","hidden_text_unresolved","model_declined","timed_out"]}}},"else":{"if":{"properties":{"receipt":{"properties":{"envelope":{"properties":{"state":{"const":"service_failed"}}}}}}},"then":{"not":{"anyOf":[{"required":["status"]},{"required":["message"]},{"required":["reason"]}]}},"else":{"not":{"anyOf":[{"required":["status"]},{"required":["message"]},{"required":["reason"]}]}}}}]},"OwnershipTypedData":{"type":"object","properties":{"types":{"const":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"}],"OwnershipProof":[{"name":"purpose","type":"string"},{"name":"check_id","type":"string"},{"name":"nonce","type":"string"},{"name":"expires_at","type":"uint256"}]}},"primaryType":{"const":"OwnershipProof"},"domain":{"type":"object","properties":{"name":{"const":"SECONDED"},"version":{"const":"1"},"chainId":{"type":"integer"}},"required":["name","version","chainId"],"additionalProperties":false},"message":{"type":"object","properties":{"purpose":{"const":"SECONDED: prove this wallet paid for this check"},"check_id":{"type":"string","pattern":"^[0-9a-f]{32}$"},"nonce":{"type":"string","pattern":"^[0-9a-f]{32}$"},"expires_at":{"type":"integer"}},"required":["purpose","check_id","nonce","expires_at"],"additionalProperties":false}},"required":["types","primaryType","domain","message"],"additionalProperties":false},"OwnershipProof":{"type":"object","properties":{"check_id":{"type":"string","pattern":"^[0-9a-f]{32}$"},"nonce":{"type":"string","pattern":"^[0-9a-f]{32}$"},"expires_at":{"type":["integer","string"]},"signature":{"type":"string"}},"required":["check_id","nonce","expires_at","signature"],"additionalProperties":false},"PaymentPayload":{"type":"object","properties":{"x402Version":{"const":2,"description":"Version of the x402 payment protocol; must be 2."},"accepted":{"type":"object","description":"Copy the selected accepts entry from PaymentRequired; terms must match the stored quote."},"payload":{"type":"object","properties":{"signature":{"type":"string","description":"0x-prefixed signature of the EIP-3009 authorization by the payer."},"authorization":{"type":"object","properties":{"from":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"0x-prefixed address of the paying wallet."},"to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"0x-prefixed payment recipient; must match the challenge payTo."},"value":{"oneOf":[{"type":"integer","minimum":0,"maximum":115792089237316195423570985008687907853269984665640564039457584007913129639935},{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}],"description":"Authorized payment in atomic USDC units; match the challenge amount. Unsigned uint256; decimal strings must also be less than 2**256."},"validAfter":{"oneOf":[{"type":"integer","minimum":0,"maximum":115792089237316195423570985008687907853269984665640564039457584007913129639935},{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}],"description":"Unix timestamp in seconds after which authorization is valid. Unsigned uint256; decimal strings must also be less than 2**256."},"validBefore":{"oneOf":[{"type":"integer","minimum":0,"maximum":115792089237316195423570985008687907853269984665640564039457584007913129639935},{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}],"description":"Unix timestamp in seconds before which authorization is valid; obey the quote deadline. Unsigned uint256; decimal strings must also be less than 2**256."},"nonce":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Copy extra.authNonce from the accepted challenge entry to bind this authorization to the quote."}},"required":["from","to","value","validAfter","validBefore","nonce"],"additionalProperties":false,"description":"Exact signed EIP-3009 transfer authorization for this quote."}},"required":["signature","authorization"],"additionalProperties":false,"description":"EIP-3009 authorization and payer signature for the accepted payment terms."},"resource":{"description":"Optional x402 resource metadata; does not replace the stored quote terms."},"extensions":{"description":"Optional x402 extension metadata; does not replace the stored quote terms."}},"required":["x402Version","accepted","payload"],"additionalProperties":false},"Refusal":{"type":"object","properties":{"receipt":{"$ref":"#/components/schemas/SignedReceipt"},"hints":{"$ref":"#/components/schemas/Hints"},"error":{"type":"string"},"reason":{"type":"string"},"check_id":{"type":"string","pattern":"^[0-9a-f]{32}$"},"nonce":{"type":"string","pattern":"^[0-9a-f]{32}$"},"ownership":{"$ref":"#/components/schemas/OwnershipTypedData"},"auth_nonce":{"type":"string"},"retry_after":{"type":"integer","minimum":1,"description":"disagreement_limited or hidden_text_unresolved_limited: whole seconds until this wallet could be admitted again; also supplied in Retry-After."}},"required":["receipt","hints","error"],"additionalProperties":false},"OwnershipChallenge":{"allOf":[{"$ref":"#/components/schemas/Refusal"},{"required":["check_id","nonce","ownership"],"properties":{"error":{"const":"ownership_required"}}}]},"Error":{"type":"object","properties":{"error":{"type":"string"},"reason":{"type":"string"},"hints":{"type":"object","properties":{"do_not_resign":{"type":"boolean"},"new_quote_allowed":{"type":"boolean"},"poll_after_s":{"type":"integer"}},"required":["do_not_resign","new_quote_allowed"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"Failure":{"oneOf":[{"$ref":"#/components/schemas/Error"},{"$ref":"#/components/schemas/Refusal"},{"$ref":"#/components/schemas/CheckResult"}]},"ReceiptKeys":{"type":"object","properties":{"network":{"const":"eip155:8453"},"keys":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"object","properties":{"key_id":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,63}$"},"algorithm":{"const":"Ed25519"},"public_key_hex":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["key_id","algorithm","public_key_hex"],"additionalProperties":false}}},"required":["network","keys"],"additionalProperties":false},"Health":{"type":"object","properties":{"status":{"enum":["ok","degraded"]},"db":{"type":"boolean"},"network":{"const":"eip155:8453"}},"required":["status","db","network"],"additionalProperties":false},"Product":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"tool":{"type":"string"},"description":{"type":"string"},"use_when":{"type":"string"},"send":{"type":"string"},"product":{"type":"string"},"not_for":{"type":"string"},"aggregation":{"type":"string"},"coverage":{"type":"string"},"input_schema":{"type":"object"},"example_input":{"type":"object"},"answer_to_action":{"type":"object","additionalProperties":{"type":"string"},"description":"Look up receipt.envelope.answer.label_id in this map for the receipt's product. answer.option indexes the product template's ordered label list (one-based), not this map. NOT VERIFIED is guidance for withheld answers, not a label_id."},"price_usd":{"type":"object","properties":{"small":{"type":"string"},"medium":{"type":"string"},"large":{"type":"string"}},"required":["small"],"additionalProperties":false},"parts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"always":{"type":"boolean"},"when":{"type":"string"},"checks":{"type":"array","items":{"type":"string"}}},"required":["name","checks"],"additionalProperties":false}}},"required":["id","name","status","tool","description","use_when","send","product","input_schema","example_input","answer_to_action","price_usd"],"additionalProperties":false},"Products":{"type":"object","properties":{"products":{"type":"array","items":{"$ref":"#/components/schemas/Product"}},"unavailable_products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"purchasable":{"type":"boolean"}},"required":["id","name","status","purchasable"],"additionalProperties":false}},"usage":{"type":"array","items":{"type":"string"}},"tiers":{"type":"array","items":{"type":"object","properties":{"tier":{"enum":["small","medium","large"]},"max_billable_bytes":{"type":"integer"}},"required":["tier","max_billable_bytes"],"additionalProperties":false}},"pricing":{"type":"string"},"network":{"type":"string"},"asset":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"pay_to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Payee for the default payment network; see networks for every enabled network."},"scheme":{"type":"string"},"price_table_version":{"type":"string"},"networks":{"type":"array","description":"Every enabled payment network with its asset and payee. Compare the challenge payTo with pay_to for the selected network before signing.","items":{"type":"object","properties":{"network":{"enum":["eip155:8453","eip155:5042","eip155:4663"]},"asset":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"pay_to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Expected challenge payTo on this payment network."}},"required":["network","asset","pay_to"],"additionalProperties":false},"examples":[[{"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","pay_to":"0x010ab46d566cde25cca0ee55eb105e781c7bcf3a"},{"network":"eip155:5042","asset":"0x3600000000000000000000000000000000000000","pay_to":"0x010ab46d566cde25cca0ee55eb105e781c7bcf3a"},{"network":"eip155:4663","asset":"0x5fc5360d0400a0fd4f2af552add042d716f1d168","pay_to":"0x010ab46d566cde25cca0ee55eb105e781c7bcf3a"}]]}},"required":["products","unavailable_products","usage","tiers","pricing","network","asset","pay_to","scheme","price_table_version","networks"],"additionalProperties":false},"StandardQuote":{"type":"object","properties":{"tier":{"enum":["small","medium","large"],"description":"Price tier for the selected product and canonical input size."},"product_schema_version":{"type":"string","description":"Version of the selected product input schema."},"predicate_version":{"type":"string","description":"Version of the selected product check predicates."},"expires_at":{"type":"integer","description":"Unix timestamp in seconds at which these public terms expire for new admission."},"max_valid_before":{"type":"integer","description":"Latest permitted EIP-3009 authorization validBefore, as a Unix timestamp in seconds."},"min_remaining_s":{"type":"integer","description":"Minimum seconds of authorization validity required at admission."}},"required":["tier","product_schema_version","predicate_version","expires_at","max_valid_before","min_remaining_s"],"additionalProperties":false},"StandardRequirement":{"type":"object","properties":{"scheme":{"const":"exact","description":"Exact EVM payment scheme for the selected requirement."},"network":{"enum":["eip155:8453","eip155:5042","eip155:4663","eip155:84532","eip155:5042002","eip155:46630"],"description":"CAIP-2 identifier of the payment network."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Payment amount in the asset's smallest units, as a decimal string."},"asset":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"ERC-20 token contract address on the selected payment network."},"payTo":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Expected recipient address for the payment authorization."},"maxTimeoutSeconds":{"type":"integer","description":"Maximum authorization duration in seconds advertised to the payment client."},"extra":{"type":"object","properties":{"name":{"type":"string","description":"EIP-712 token domain name used to sign the payment authorization."},"version":{"type":"string","description":"EIP-712 token domain version used to sign the payment authorization."},"ticket":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"Opaque nonexclusive public terms selector; the verified payer selects a private purchase."},"seconded":{"$ref":"#/components/schemas/StandardQuote","description":"Public price, validity or claim metadata for the advertised terms."}},"required":["name","version","ticket","seconded"],"additionalProperties":false,"description":"Token signing domain, public terms selector and SECONDED validity terms."}},"required":["scheme","network","amount","asset","payTo","maxTimeoutSeconds","extra"],"additionalProperties":false},"StandardResource":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Canonical URL of the check endpoint."},"description":{"type":"string","maxLength":500,"description":"Human-readable description of the check endpoint."},"mimeType":{"const":"application/json","description":"Media type of the check endpoint's JSON response."}},"required":["url","description","mimeType"],"additionalProperties":false},"StandardPaymentRequired":{"type":"object","properties":{"x402Version":{"const":2,"description":"x402 version 2 wire format."},"resource":{"$ref":"#/components/schemas/StandardResource","description":"Metadata for the canonical check endpoint being purchased."},"accepts":{"type":"array","minItems":1,"maxItems":3,"items":{"$ref":"#/components/schemas/StandardRequirement"},"description":"Available exact payment requirements; echo one selected entry unchanged when paying."},"extensions":{"type":"object","properties":{"bazaar":{"type":"object","description":"Machine-readable marketplace discovery metadata."},"sign-in-with-x":{"type":"object","description":"Wallet signature challenge for an optional request-bound SIWX claim; it moves no funds."}},"required":["bazaar","sign-in-with-x"],"additionalProperties":false,"description":"Protocol discovery metadata and optional wallet claim challenge."},"seconded":{"type":"object","properties":{"price_usd":{"type":"string","description":"Price in US dollars as a decimal string."},"expires_at":{"type":"integer","description":"Unix timestamp in seconds at which these public terms expire for new admission."},"binding":{"const":"first_presentation","description":"The first verified payment presentation selects a private purchase for its payer."},"claim":{"type":"object","properties":{"status":{"const":"recorded","description":"Confirmation that the wallet claim was recorded."},"closes_at":{"type":"integer","description":"Unix timestamp in seconds at which the signed claim lifetime closes, including its grace period."}},"required":["status","closes_at"],"additionalProperties":false,"description":"Optional confirmation that the payer's request-bound wallet claim was recorded; no payment occurred."}},"required":["price_usd","expires_at","binding"],"additionalProperties":false,"description":"Public price, validity or claim metadata for the advertised terms."}},"required":["x402Version","resource","accepts","extensions","seconded"],"additionalProperties":false},"StandardPaymentPayload":{"type":"object","properties":{"x402Version":{"const":2,"description":"Version of the x402 payment protocol; must be 2."},"accepted":{"$ref":"#/components/schemas/StandardRequirement","description":"Echo the entire selected accepts entry unchanged, including its nonexclusive public terms ticket."},"payload":{"type":"object","properties":{"signature":{"type":"string","description":"0x-prefixed signature of the EIP-3009 authorization by the payer."},"authorization":{"type":"object","properties":{"from":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"0x-prefixed address of the paying wallet."},"to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"0x-prefixed payment recipient; must match the challenge payTo."},"value":{"oneOf":[{"type":"integer","minimum":0,"maximum":115792089237316195423570985008687907853269984665640564039457584007913129639935},{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}],"description":"Authorized payment in atomic USDC units; match the challenge amount. Unsigned uint256; decimal strings must also be less than 2**256."},"validAfter":{"oneOf":[{"type":"integer","minimum":0,"maximum":115792089237316195423570985008687907853269984665640564039457584007913129639935},{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}],"description":"Unix timestamp in seconds after which authorization is valid. Unsigned uint256; decimal strings must also be less than 2**256."},"validBefore":{"oneOf":[{"type":"integer","minimum":0,"maximum":115792089237316195423570985008687907853269984665640564039457584007913129639935},{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}],"description":"Unix timestamp in seconds before which authorization is valid; obey the quote deadline. Unsigned uint256; decimal strings must also be less than 2**256."},"nonce":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Random EIP-3009 authorization nonce chosen by the signer; the public ticket selects terms, and the verified payer selects a separate private purchase."}},"required":["from","to","value","validAfter","validBefore","nonce"],"additionalProperties":false,"description":"Exact signed EIP-3009 transfer authorization for this quote."}},"required":["signature","authorization"],"additionalProperties":false,"description":"EIP-3009 authorization and payer signature for the accepted payment terms."},"resource":{"description":"Optional x402 resource metadata; does not replace the stored quote terms."},"extensions":{"description":"Optional x402 extension metadata; does not replace the stored quote terms."}},"required":["x402Version","accepted","payload"],"additionalProperties":false}}},"jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","externalDocs":{"url":"https://api.secondedoracle.xyz/v1/products","description":"SECONDED product guide, input examples, prices and enabled payment networks."}}