{"service":{"name":"TAT Risk","descriptor":"Global Trust & Risk Infrastructure for Agent Transactions","tagline":"Trust before agents transact."},"product":{"id":"tat-risk.token-risk","technicalProduct":"x402 Token Risk API","endpoint":{"method":"POST","path":"/v1/risk/paid","url":"https://x402-token-risk-api-6cj2.onrender.com/v1/risk/paid"},"request":{"contentType":"application/json","schema":"#/components/schemas/PaidRiskRequestV1"},"response":{"contentType":"application/json","schema":"#/components/schemas/PaidRiskResponseV1","correlationHeader":"X-Request-Id"}},"payment":{"scheme":"exact","network":"eip155:84532","testnet":true,"asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amountAtomic":"50000","receiver":"0x9fA1228cDdb92c766540fb6A7D0461F9aBe7836F","mainnetPayments":false},"links":{"root":"https://x402-token-risk-api-6cj2.onrender.com/","quickstart":"https://x402-token-risk-api-6cj2.onrender.com/docs","llms":"https://x402-token-risk-api-6cj2.onrender.com/llms.txt","health":"https://x402-token-risk-api-6cj2.onrender.com/health","ready":"https://x402-token-risk-api-6cj2.onrender.com/ready","pricing":"https://x402-token-risk-api-6cj2.onrender.com/v1/pricing","capabilities":"https://x402-token-risk-api-6cj2.onrender.com/v1/capabilities","openapi":"https://x402-token-risk-api-6cj2.onrender.com/openapi.json","tatRisk":"https://x402-token-risk-api-6cj2.onrender.com/.well-known/tat-risk","x402":"https://x402-token-risk-api-6cj2.onrender.com/.well-known/x402.json","aiAgent":"https://x402-token-risk-api-6cj2.onrender.com/.well-known/ai-agent.json","mcp":"https://x402-token-risk-api-6cj2.onrender.com/mcp","robots":"https://x402-token-risk-api-6cj2.onrender.com/robots.txt","sitemap":"https://x402-token-risk-api-6cj2.onrender.com/sitemap.xml"},"safeStart":["Read discovery, OpenAPI, pricing, and capabilities before attempting the paid endpoint.","The first unsigned paid-endpoint response is an HTTP 402 challenge, not payment authorization.","Do not sign, submit, or retry a payment without a precise, separate financial authorization.","Mainnet payments are disabled; this public product is configured for Base Sepolia test USDC only."],"externalAgentContract":{"version":"2","discoverySequence":["GET /.well-known/tat-risk","GET /openapi.json","POST /v1/risk/paid/admission","POST /v1/risk/paid","HTTP 402 PAYMENT-REQUIRED","submit supported x402 payment","POST the exact original request with X-Price-Quote-Id","parse PaidRiskResponseV1"],"paidEndpoint":{"method":"POST","path":"/v1/risk/paid","requestContentType":"application/json","responseContentType":"application/json","requestSchema":"#/components/schemas/PaidRiskRequestV1","responseSchema":"#/components/schemas/PaidRiskResponseV1"},"externalAdmission":{"version":"1","method":"POST","path":"/v1/risk/paid/admission","header":"X-External-Paid-Admission","capability":"opaque_server_bound_single_operation","ttl":"server_issued_short_lived","limits":{"network":"eip155:84532","maxAmountAtomic":"50000","maxRequests":1,"maxPaymentAttempts":1},"identity":"not_required_bounded_capability","retry":"same_idempotency_and_same_intent_only"},"idempotency":{"header":"Idempotency-Key","behavior":"same_intent_replay_only","automaticRepaymentAllowed":false},"quote":{"idHeader":"X-Price-Quote-Id","expiryHeader":"X-Price-Quote-Expires-At","continuationHeader":"X-Payment-Continuation","refreshAllowed":false,"replacementAllowed":false,"continuation":"opaque_server_bound_single_use"},"recovery":{"prepare":{"method":"POST","path":"/v1/risk/paid/recovery/prepare","timing":"before_signer","paymentMaterialAccepted":false},"rebind":{"method":"POST","path":"/v1/risk/paid/recovery/rebind","timing":"before_signer","mutation":"none","paymentMaterialAccepted":false},"operation":{"lookupMethod":"GET","path":"/v1/risk/paid/recovery/operation/:operationReference","readOnly":true,"submissionMarker":{"method":"POST","path":"/v1/risk/paid/recovery/operation/:operationReference/submission","timing":"immediately_before_submission","maxAttempts":1}}},"publicInput":{"forbiddenDerivedFields":["identityKey","normalizedContractAddress","authorizationScope","admissionLeaseId","admissionLeaseVersion","continuationReference"]},"errors":{"schema":"#/components/schemas/PublicPaidErrorV1","codes":["INVALID_REQUEST","ASSET_INVALID","PAYMENT_REQUIRED","QUOTE_EXPIRED","QUOTE_INVALID","CONTINUATION_INVALID","CONTINUATION_CONSUMED","PAYMENT_INVALID","PAYMENT_UNVERIFIED","ADMISSION_UNAUTHORIZED","SETTLEMENT_PENDING","SETTLEMENT_FAILED","IDEMPOTENCY_CONFLICT","REPLAY_REJECTED","RATE_LIMITED","SERVICE_UNAVAILABLE","PROVIDER_DEGRADED","INTERNAL_ERROR"],"unknownCodes":"SANITIZED_FAIL_CLOSED"},"trafficClassification":{"originProof":"CONSERVATIVE_SERVER_OBSERVABLE_ONLY","classes":["INTERNAL_DETERMINISTIC_TEST","INTERNAL_AUTHORIZED_CANARY","RECOVERY_OPERATION","INDEPENDENT_EXTERNAL","EXTERNAL_REQUEST_UNVERIFIED","EXTERNAL_PAID_SUCCESS"]}},"requestExample":{"version":"1","asset":{"assetClass":"CRYPTO_TOKEN","symbol":"WBNB","chainId":56,"contractAddress":"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"},"requestedProducts":["TOKEN_RISK"],"caller":{"type":"AI_AGENT"}},"examples":{"curl":"curl --fail --silent --show-error 'https://x402-token-risk-api-6cj2.onrender.com/.well-known/tat-risk'\n# Read the returned contract. Obtain a fresh bounded external admission before Phase A.\ncurl --include --request POST 'https://x402-token-risk-api-6cj2.onrender.com/v1/risk/paid' \\\n  --header 'Content-Type: application/json' \\\n  --header 'Idempotency-Key: <fresh-stable-client-key>' \\\n  --header 'X-External-Paid-Admission: <server-issued-capability>' \\\n  --data '{\"version\":\"1\",\"asset\":{\"assetClass\":\"CRYPTO_TOKEN\",\"symbol\":\"WBNB\",\"chainId\":56,\"contractAddress\":\"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\"},\"requestedProducts\":[\"TOKEN_RISK\"],\"caller\":{\"type\":\"AI_AGENT\"}}'\n# STOP on HTTP 402. It is a quote/challenge, not permission to sign or pay.","nodeTypeScript":"const response = await fetch(process.env.TAT_RISK_BASE_URL + '/v1/risk/paid', {\n  method: 'POST', headers: { 'content-type': 'application/json',\n    'idempotency-key': '<fresh-stable-client-key>',\n    'x-external-paid-admission': '<server-issued-capability>' },\n  body: JSON.stringify({\"version\":\"1\",\"asset\":{\"assetClass\":\"CRYPTO_TOKEN\",\"symbol\":\"WBNB\",\"chainId\":56,\"contractAddress\":\"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\"},\"requestedProducts\":[\"TOKEN_RISK\"],\"caller\":{\"type\":\"AI_AGENT\"}})\n});\nif (response.status === 402) { /* persist the quote/continuation and STOP before payment */ }"},"financialAuthorization":{"requiredBeforePayment":true,"scope":"A separate explicit authorization must bind the exact quote, continuation, endpoint, network, asset, amount, and receiver.","automaticRetryAllowed":false},"notes":{"paymentAssetIsSeparateFromAnalysisAsset":true,"paymentNetwork":"eip155:84532","paidEndpoint":"POST /v1/risk/paid"}}