{"openapi":"3.1.0","info":{"title":"Agent Risk Desk","version":"0.2.0","description":"Pay-per-call data and risk services for AI agents: EVM address enrichment, counterparty risk for EVM and NEAR accounts, Allowance receipt verification, transaction screening. Payment: x402 v2, scheme exact, USDC on Base (eip155:8453) to 0xbC005B343D98c458F457d21d99969cd267370B26. No account and no API key.","license":{"name":"MIT","identifier":"MIT"}},"servers":[{"url":"https://x402-services.soldano.workers.dev"}],"tags":[{"name":"paid","description":"x402 paid endpoints"},{"name":"free","description":"free endpoints"},{"name":"mcp","description":"Model Context Protocol endpoint"}],"paths":{"/v1/enrich/address":{"post":{"operationId":"enrich_evm","summary":"EVM address enrichment ($0.01 USDC per call)","description":"Profile of an EVM address on Base, Ethereum, OP Mainnet or Arbitrum in one call: EOA, contract or EIP-7702 account, age, transactions sent, native and major token balances (USDC, USDT, EURC, DAI, WETH, BTC), Sourcify-verified source and name, proxy and implementation, token metadata, labels (OFAC SDN, Chainalysis oracle, known issuers) and a risk verdict with reasons. Useful to know who an address is before paying, listing or trusting it.\n\nPaid with x402 v2: an unpaid request answers 402 with the payment requirements in the PAYMENT-REQUIRED header; retry with the signed payment in PAYMENT-SIGNATURE. Invalid input (400), unknown transactions (404) and upstream outages (503) are not charged. MCP tool: enrich_evm_address.","tags":["paid"],"security":[{"x402":[]}],"x-x402":{"scheme":"exact","price":"$0.01","priceUsd":0.01,"asset":"USDC","assetAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0xbC005B343D98c458F457d21d99969cd267370B26","mcpTool":"enrich_evm_address"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"20-byte hex address, 0x-prefixed (checksum optional)"},"chain":{"description":"EVM chain: ethereum, base, base-sepolia, optimism, arbitrum (default base)","type":"string","enum":["ethereum","base","base-sepolia","optimism","arbitrum"]}},"required":["address"],"additionalProperties":false},"example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","chain":"base"}}}},"responses":{"200":{"description":"Result. The PAYMENT-RESPONSE header carries the base64 settlement receipt.","headers":{"PAYMENT-RESPONSE":{"schema":{"type":"string"},"description":"base64 JSON SettleResponse (transaction hash, network, payer)"}},"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"object"},"summary":{"type":"string"},"kind":{"type":"string"},"delegate":{},"transactionsSent":{"type":"number"},"age":{"type":"object"},"balances":{"type":"object"},"contract":{"type":"object"},"labels":{"type":"array"},"risk":{"type":"object"},"errors":{"type":"array"},"cached":{"type":"object"},"checkedAt":{"type":"string"}}},"example":{"subject":{"type":"evm","chain":"base","chainId":8453,"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"summary":"contract FiatTokenProxy on Base, 1180 days old, 1 tx sent, holds 0 ETH; risk allow","kind":"contract","delegate":null,"transactionsSent":1,"age":{"days":1180.4,"firstSeenBlock":2797221,"firstSeenAt":"2023-08-24T19:03:47.000Z","atLeast":false,"basis":"when it first held code or sent a transaction"},"balances":{"native":{"symbol":"ETH","address":null,"raw":"0","formatted":"0"},"tokens":[],"checkedTokens":6},"contract":{"codeSize":1852,"codeHash":"0x...","proxy":{"type":"zeppelinos","implementation":"0x2Ce6311ddAE708829bc0784C967b7d77D19FD779","admin":null},"token":{"name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"4200000000000000","owner":"0x...","ownerRenounced":false},"source":{"verified":true,"match":"exact_match","name":"FiatTokenProxy","language":"Solidity","compilerVersion":"0.6.12+commit.27d51765","verifiedAt":"2024-08-08T13:59:29Z","implementation":{"address":"0x2Ce6311ddAE708829bc0784C967b7d77D19FD779","name":"FiatTokenV2_2"},"url":"https://repo.sourcify.dev/8453/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}},"labels":[{"label":"USDC (Circle)","source":"known_tokens"},{"label":"verified contract: FiatTokenProxy","source":"sourcify"}],"risk":{"verdict":"allow","reasons":[],"signals":["contract_account","upgradeable_proxy","account_age","known_token"]},"errors":[],"cached":{"facts":false},"checkedAt":"2026-10-31T18:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}},"402":{"description":"Payment required, or the payment was invalid/expired. Requirements in the PAYMENT-REQUIRED header.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"},"description":"base64 JSON PaymentRequired (x402Version 2, accepts[], resource, extensions.bazaar)"}},"content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Chain data or payment facilitator unavailable (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}}}}},"/v1/risk/evm":{"post":{"operationId":"risk_evm","summary":"EVM counterparty risk ($0.02 USDC per call)","description":"Counterparty-risk verdict (allow, warn or block, with reasons) for an EVM address on Base, Ethereum, OP Mainnet, Arbitrum or Base Sepolia, for use before paying, approving or trusting it. Checks the OFAC SDN list and the Chainalysis sanctions oracle, account age, EOA or contract, EIP-7702 delegation, upgradeable proxies and code changes in the last 72 h, and token controls (mint, blacklist, pause, fees, owner).\n\nPaid with x402 v2: an unpaid request answers 402 with the payment requirements in the PAYMENT-REQUIRED header; retry with the signed payment in PAYMENT-SIGNATURE. Invalid input (400), unknown transactions (404) and upstream outages (503) are not charged. MCP tool: counterparty_risk_evm.","tags":["paid"],"security":[{"x402":[]}],"x-x402":{"scheme":"exact","price":"$0.02","priceUsd":0.02,"asset":"USDC","assetAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0xbC005B343D98c458F457d21d99969cd267370B26","mcpTool":"counterparty_risk_evm"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"20-byte hex address, 0x-prefixed (checksum optional)"},"chain":{"type":"string","enum":["ethereum","base","base-sepolia","optimism","arbitrum"],"description":"EVM chain: ethereum, base, base-sepolia, optimism, arbitrum"},"minAgeDays":{"description":"warn when the address is younger than this (default 7)","type":"number","minimum":0,"maximum":3650},"codeWindowHours":{"description":"warn when code or proxy implementation changed within this window (default 72)","type":"integer","minimum":1,"maximum":720}},"required":["address","chain"],"additionalProperties":false},"example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","chain":"base"}}}},"responses":{"200":{"description":"Result. The PAYMENT-RESPONSE header carries the base64 settlement receipt.","headers":{"PAYMENT-RESPONSE":{"schema":{"type":"string"},"description":"base64 JSON SettleResponse (transaction hash, network, payer)"}},"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"object"},"verdict":{"type":"string"},"reasons":{"type":"array"},"signals":{"type":"array"},"facts":{"type":"object"},"lists":{"type":"array"},"cached":{"type":"boolean"},"checkedAt":{"type":"string"}}},"example":{"subject":{"type":"evm","chain":"base","chainId":8453,"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"verdict":"allow","reasons":[],"signals":[{"code":"contract_account","level":"info","detail":"0x8335...2913 is a contract (1852 bytes, code hash 0x...)"},{"code":"known_token","level":"info","detail":"... is the Circle USDC contract: issuer-controlled stablecoin ..."}],"facts":{"kind":"contract","proxy":{"type":"eip1967"},"age":{"ageDays":1180.4}},"lists":[{"name":"OFAC SDN (digital currency addresses)","updatedAt":"2026-10-31T17:03:54.949Z","entries":1050,"origin":"kv","stale":false}],"cached":false,"checkedAt":"2026-10-31T18:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}},"402":{"description":"Payment required, or the payment was invalid/expired. Requirements in the PAYMENT-REQUIRED header.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"},"description":"base64 JSON PaymentRequired (x402Version 2, accepts[], resource, extensions.bazaar)"}},"content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Chain data or payment facilitator unavailable (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}}}}},"/v1/risk/near":{"post":{"operationId":"risk_near","summary":"NEAR counterparty risk ($0.02 USDC per call)","description":"Counterparty-risk verdict (allow, warn or block, with reasons) for a NEAR account, for use before paying it. Checks the OFAC SDN list and operator deny-lists, whether the account exists, its age, its contract code and code changes in the last 72 h, global contracts whose publisher can change them, and, with an Allowance vault, the vault denylist and payment history.\n\nPaid with x402 v2: an unpaid request answers 402 with the payment requirements in the PAYMENT-REQUIRED header; retry with the signed payment in PAYMENT-SIGNATURE. Invalid input (400), unknown transactions (404) and upstream outages (503) are not charged. MCP tool: counterparty_risk_near.","tags":["paid"],"security":[{"x402":[]}],"x-x402":{"scheme":"exact","price":"$0.02","priceUsd":0.02,"asset":"USDC","assetAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0xbC005B343D98c458F457d21d99969cd267370B26","mcpTool":"counterparty_risk_near"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"account":{"type":"string","minLength":2,"maxLength":64,"pattern":"^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$","description":"NEAR account id, e.g. alice.near or a 64-hex implicit account"},"network":{"type":"string","enum":["mainnet","testnet"],"description":"NEAR network; default: testnet for *.testnet accounts, mainnet otherwise"},"vault":{"description":"Allowance vault: adds its on-chain denylist and its payment history with this account","type":"string","minLength":2,"maxLength":64,"pattern":"^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$"},"minAgeDays":{"description":"warn when the account is younger than this (default 7)","type":"number","minimum":0,"maximum":3650},"codeWindowHours":{"description":"warn when the contract code changed within this window (default 72)","type":"integer","minimum":1,"maximum":720}},"required":["account"],"additionalProperties":false},"example":{"account":"intents.near"}}}},"responses":{"200":{"description":"Result. The PAYMENT-RESPONSE header carries the base64 settlement receipt.","headers":{"PAYMENT-RESPONSE":{"schema":{"type":"string"},"description":"base64 JSON SettleResponse (transaction hash, network, payer)"}},"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"object"},"verdict":{"type":"string"},"reasons":{"type":"array"},"signals":{"type":"array"},"facts":{"type":"object"},"history":{},"cached":{"type":"boolean"},"checkedAt":{"type":"string"}}},"example":{"subject":{"type":"near","network":"mainnet","account":"intents.near"},"verdict":"allow","reasons":[],"signals":[{"code":"account_age","level":"info","detail":"intents.near is 640 days old (first seen at block 130000000)"}],"facts":{"exists":true,"hasCode":true,"ageDays":640.2},"history":null,"cached":false,"checkedAt":"2026-10-31T18:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}},"402":{"description":"Payment required, or the payment was invalid/expired. Requirements in the PAYMENT-REQUIRED header.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"},"description":"base64 JSON PaymentRequired (x402Version 2, accepts[], resource, extensions.bazaar)"}},"content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Chain data or payment facilitator unavailable (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}}}}},"/v1/receipt/verify-near":{"post":{"operationId":"receipt_near","summary":"Allowance receipt verification (NEAR) ($0.005 USDC per call)","description":"Seller-side check that an Allowance vault receipt on NEAR paid a given account at least a given amount, bound to the seller request hash, at final finality. Returns valid or the reason (not paid yet, wrong payee, amount, asset or request, unknown receipt, not a vault) and the vault code hash read at the same block.\n\nPaid with x402 v2: an unpaid request answers 402 with the payment requirements in the PAYMENT-REQUIRED header; retry with the signed payment in PAYMENT-SIGNATURE. Invalid input (400), unknown transactions (404) and upstream outages (503) are not charged. MCP tool: verify_allowance_receipt.","tags":["paid"],"security":[{"x402":[]}],"x-x402":{"scheme":"exact","price":"$0.005","priceUsd":0.005,"asset":"USDC","assetAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0xbC005B343D98c458F457d21d99969cd267370B26","mcpTool":"verify_allowance_receipt"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","minLength":2,"maxLength":64,"pattern":"^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$","description":"Allowance vault account that issued the receipt"},"receiptId":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"receipt id returned by the vault pay call"},"payee":{"type":"string","minLength":2,"maxLength":64,"pattern":"^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$","description":"the account that must have been paid (usually the seller itself)"},"minAmount":{"type":"string","pattern":"^\\d{1,40}$","description":"minimum amount in base units: yoctoNEAR, or the token smallest unit when asset is an ft"},"requestHash":{"description":"base64(sha256(utf8(nonce))): the 32-byte request hash the receipt must carry","type":"string"},"nonce":{"description":"alternative to requestHash: the nonce the seller issued; the hash is computed server-side","type":"string","maxLength":256},"asset":{"description":"\"near\" (default) or {\"ft\": \"<NEP-141 token contract>\"}","anyOf":[{"type":"string","const":"near"},{"type":"object","properties":{"ft":{"type":"string","minLength":2,"maxLength":64,"pattern":"^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$","description":"NEAR account id, e.g. alice.near or a 64-hex implicit account"}},"required":["ft"]}]},"network":{"type":"string","enum":["mainnet","testnet"],"description":"NEAR network; default: testnet for *.testnet accounts, mainnet otherwise"}},"required":["vault","receiptId","payee","minAmount"],"additionalProperties":false},"example":{"vault":"vault.alice.near","receiptId":3,"payee":"api.example.near","minAmount":"20000000000000000000000","requestHash":"n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg="}}}},"responses":{"200":{"description":"Result. The PAYMENT-RESPONSE header carries the base64 settlement receipt.","headers":{"PAYMENT-RESPONSE":{"schema":{"type":"string"},"description":"base64 JSON SettleResponse (transaction hash, network, payer)"}},"content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"paid":{"type":"boolean"},"reason":{},"detail":{"type":"string"},"vault":{"type":"object"},"block":{"type":"object"},"receipt":{},"checkedAt":{"type":"string"}}},"example":{"valid":true,"paid":true,"reason":null,"detail":"receipt #3 on vault.alice.near pays api.example.near at least 20000000000000000000000","vault":{"account":"vault.alice.near","codeHash":"HUoGyXRv...","mutableCode":false,"trustedCode":null},"block":{"hash":"7xX...","height":160000000},"receipt":null,"checkedAt":"2026-10-31T18:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}},"402":{"description":"Payment required, or the payment was invalid/expired. Requirements in the PAYMENT-REQUIRED header.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"},"description":"base64 JSON PaymentRequired (x402Version 2, accepts[], resource, extensions.bazaar)"}},"content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Chain data or payment facilitator unavailable (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}}}}},"/v1/screen/tx":{"post":{"operationId":"screen_tx","summary":"Transaction screening ($0.04 USDC per call)","description":"Plain-language explanation of an EVM or NEAR transaction: status, method, native and token transfers, approvals (unlimited ones flagged), fee, and a risk verdict for each counterparty, with a one-line summary. Covers Base, Ethereum, OP Mainnet, Arbitrum, Base Sepolia and NEAR. Useful to check what a payment or approval really did.\n\nPaid with x402 v2: an unpaid request answers 402 with the payment requirements in the PAYMENT-REQUIRED header; retry with the signed payment in PAYMENT-SIGNATURE. Invalid input (400), unknown transactions (404) and upstream outages (503) are not charged. MCP tool: screen_transaction.","tags":["paid"],"security":[{"x402":[]}],"x-x402":{"scheme":"exact","price":"$0.04","priceUsd":0.04,"asset":"USDC","assetAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0xbC005B343D98c458F457d21d99969cd267370B26","mcpTool":"screen_transaction"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","enum":["ethereum","base","base-sepolia","optimism","arbitrum","near","near-testnet"],"description":"ethereum, base, base-sepolia, optimism, arbitrum, near or near-testnet"},"txHash":{"type":"string","minLength":43,"maxLength":66,"description":"0x-prefixed 32-byte hash (EVM) or base58 hash (NEAR)"},"sender":{"description":"NEAR only: the signer account; required on near-testnet, optional on mainnet","type":"string","minLength":2,"maxLength":64,"pattern":"^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$"}},"required":["chain","txHash"],"additionalProperties":false},"example":{"chain":"base","txHash":"0x0b5b1d0c38f1c4b0f0d3d93e5ff3c0e0f2e6b3b9a7f1c2d3e4f5a6b7c8d9e0f1"}}}},"responses":{"200":{"description":"Result. The PAYMENT-RESPONSE header carries the base64 settlement receipt.","headers":{"PAYMENT-RESPONSE":{"schema":{"type":"string"},"description":"base64 JSON SettleResponse (transaction hash, network, payer)"}},"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"status":{"type":"string"},"summary":{"type":"string"},"transfers":{"type":"array"},"approvals":{"type":"array"},"counterparties":{"type":"array"},"verdict":{"type":"string"},"reasons":{"type":"array"}}},"example":{"chain":"base","status":"success","summary":"0x1a2b...3c4d sent 25 USDC to 0x5e6f...7a8b [allow] on Base; verdict allow","transfers":[{"kind":"erc20","symbol":"USDC","from":"0x1a2b...","to":"0x5e6f...","amount":"25000000","formatted":"25 USDC"}],"approvals":[],"counterparties":[{"address":"0x5e6f...","roles":["recipient"],"checked":true,"verdict":"allow","reasons":[]}],"verdict":"allow","reasons":[]}}}},"400":{"description":"Invalid input (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}},"402":{"description":"Payment required, or the payment was invalid/expired. Requirements in the PAYMENT-REQUIRED header.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"},"description":"base64 JSON PaymentRequired (x402Version 2, accepts[], resource, extensions.bazaar)"}},"content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Transaction not found (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}},"503":{"description":"Chain data or payment facilitator unavailable (not charged)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"field":{"type":"string"}},"required":["error","message"]}}}}}}},"/health":{"get":{"operationId":"health","summary":"Service status, payment configuration and deny-list freshness (free)","tags":["free"],"responses":{"200":{"description":"Status"}}}},"/llms.txt":{"get":{"operationId":"llms","summary":"Plain-text description for agents (free)","tags":["free"],"responses":{"200":{"description":"text/plain"}}}},"/.well-known/x402":{"get":{"operationId":"x402Manifest","summary":"x402 service manifest: paid resources, payment terms, MCP (free)","tags":["free"],"responses":{"200":{"description":"JSON manifest"}}}},"/openapi.json":{"get":{"operationId":"openapi","summary":"This document (free)","tags":["free"],"responses":{"200":{"description":"OpenAPI 3.1"}}}},"/mcp":{"post":{"operationId":"mcp","summary":"MCP server, Streamable HTTP (stateless, JSON responses). Paid tools use the x402 MCP transport; list_services is free.","tags":["mcp"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"JSON-RPC 2.0 message"}}}},"responses":{"200":{"description":"JSON-RPC 2.0 response"}}}}},"components":{"securitySchemes":{"x402":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 v2 payment payload (base64 JSON), created by an x402 client from the 402 PAYMENT-REQUIRED header. See https://docs.x402.org"}}}}