{"openapi":"3.1.0","info":{"title":"anchor-x402","description":"18 pay-per-call x402 services for AI agents — on-chain anchoring & attestation, wallet/address security screening, Web3 data (tx & calldata decode, ENS, token prices), x402 spend accounting, content analysis, and verifiable randomness. No API keys or accounts; settle per request in USDC on Base or Solana. $0.001–$1.77 per call.","version":"0.3.0","x-guidance":"Pay-per-call x402 services for AI agents — no API keys or accounts. Each paid route returns HTTP 402 with x402 payment requirements; pay in USDC on Base or Solana (select routes also settle JPYC on Polygon) and retry with the payment header. Prices are $0.001–$1.77 per call. POST routes take a JSON body per each operation's requestBody schema.","contact":{"email":"hypeprinter007@gmail.com"},"x-logo":{"url":"https://api.anchor-x402.com/icon.png","altText":"anchor-x402"}},"paths":{"/health":{"get":{"summary":"Report service health and version status","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/v1/anchor":{"post":{"summary":"Create a dual-chain proof anchoring a 32-byte hash","operationId":"anchor_v1_anchor_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchorRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]}}},"/v1/screen":{"post":{"summary":"Check a wallet address for sanctions and risk","operationId":"screen_post_v1_screen_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_WalletBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.020000"},"protocols":[{"x402":{}}]}}},"/v1/attest":{"post":{"summary":"Create a signed, anchored receipt for an AI decision","operationId":"attest_v1_attest_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]}}},"/v1/attest/verify":{"post":{"summary":"Verify a previously anchored decision attestation","operationId":"attest_verify_v1_attest_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttestVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/v1/decode/tx":{"post":{"summary":"Parse a Base or Solana transaction into plain English","operationId":"decode_tx_v1_decode_tx_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TxDecodeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TxDecodeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]}}},"/v1/resolve/name":{"post":{"summary":"Resolve an ENS or Solana name to a wallet address","operationId":"resolve_name_post_v1_resolve_name_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_NameBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameResolveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]}}},"/v1/price/token":{"post":{"summary":"Look up a token's current price in US dollars","operationId":"token_price_post_v1_price_token_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_TokenPriceBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPriceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]}}},"/v1/decode/calldata":{"post":{"summary":"Parse raw EVM calldata into a named function call","operationId":"decode_calldata_v1_decode_calldata_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalldataDecodeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalldataDecodeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]}}},"/v1/parse/datetime":{"post":{"summary":"Parse natural-language dates into a normalized datetime","operationId":"parse_datetime_v1_parse_datetime_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatetimeParseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatetimeParseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]}}},"/v1/intel/wallet":{"post":{"summary":"Fetch bundled wallet sanctions, balance, and activity data","operationId":"intel_wallet_post_v1_intel_wallet_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_WalletBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntelWalletResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]}}},"/v1/investigate":{"post":{"summary":"Create an agent-driven wallet due-diligence investigation","description":"Accept payment, record job, async-dispatch to private worker.","operationId":"investigate_dispatch_v1_investigate_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigateAcceptedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.770000"},"protocols":[{"x402":{}}]}}},"/v1/investigate/status/{job_id}":{"get":{"summary":"Check an investigation's status and fetch its report","description":"Poll endpoint — free, no x402 (deliberately omitted from x402_routes).","operationId":"investigate_status_v1_investigate_status__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigateStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/v1/ledger/summary":{"post":{"summary":"Summarize a wallet's ledger into accounting totals","description":"Categorized x402 spend for a wallet, computed at request time.","operationId":"ledger_summary_v1_ledger_summary_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerSummaryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Ledger Summary V1 Ledger Summary Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]}}},"/v1/ledger/report":{"post":{"summary":"Create a full accounting report job for a wallet ledger","description":"Accept payment, record job, async-dispatch the report build to this\nsame Lambda (self-invoke — see the ledger_job branch in handler()).","operationId":"ledger_report_dispatch_v1_ledger_report_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerReportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerReportAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.350000"},"protocols":[{"x402":{}}]}}},"/v1/ledger/report/{job_id}":{"get":{"summary":"Check a ledger report job and fetch the finished report","description":"Poll endpoint — free, no x402 (deliberately omitted from x402_routes).","operationId":"ledger_report_status_v1_ledger_report__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerReportStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/v1/roast":{"post":{"summary":"Generate a comic roast of a wallet's trading history","operationId":"roast_v1_roast_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoastRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoastResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]}}},"/v1/oracle":{"post":{"summary":"Generate a signed oracle verdict for a question","operationId":"oracle_v1_oracle_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OracleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OracleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]}}},"/v1/tldr":{"post":{"summary":"Summarize long text into a short TL;DR","operationId":"tldr_v1_tldr_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TldrRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TldrResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]}}},"/v1/aura":{"post":{"summary":"Read a wallet's aura color, tier, and score","operationId":"aura_v1_aura_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuraRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuraResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]}}},"/v1/grade":{"post":{"summary":"Generate a letter grade and margin notes for text","operationId":"grade_v1_grade_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GradeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GradeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]}}},"/v1/roll":{"post":{"summary":"Generate verifiable dice rolls with a signed result","operationId":"roll_v1_roll_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"AnchorRequest":{"properties":{"hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hash","description":"Pre-computed 32-byte hex hash (64 chars, no 0x prefix). Mutually exclusive with `data`."},"data":{"anyOf":[{},{"type":"null"}],"title":"Data","description":"Arbitrary JSON to be canonicalized + SHA-256'd by the server. Mutually exclusive with `hash`."},"note":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Note","description":"Optional 200-char note included in the response (not on-chain)."}},"type":"object","title":"AnchorRequest"},"AnchorResponse":{"properties":{"merkle_root":{"type":"string","title":"Merkle Root","description":"The 64-char hex hash that was anchored."},"base":{"$ref":"#/components/schemas/ChainAnchor"},"solana":{"anyOf":[{"$ref":"#/components/schemas/ChainAnchor"},{"type":"null"}],"description":"None if the Solana side failed; Base anchor still proves the hash existed."},"anchored_at":{"type":"integer","title":"Anchored At","description":"Unix epoch seconds when the anchor txs were broadcast."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["merkle_root","base","anchored_at"],"title":"AnchorResponse"},"AttestRequest":{"properties":{"input_hash":{"type":"string","title":"Input Hash","description":"64-char hex SHA-256 of the agent's input."},"output_hash":{"type":"string","title":"Output Hash","description":"64-char hex SHA-256 of the agent's output / decision payload."},"decision":{"type":"string","maxLength":64,"title":"Decision","description":"Free-form short label, e.g. \"APPROVED\", \"REJECTED\", \"CONFIDENCE=0.93\"."},"scheme":{"anyOf":[{"type":"string","enum":["eip191","ed25519"]},{"type":"null"}],"title":"Scheme","description":"Signature scheme when you supply a `signature`: \"eip191\" (EVM) or \"ed25519\" (Solana)."},"signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature","description":"0x-prefixed hex (eip191) or base58 (ed25519). Omit to have the anchor-x402 treasury sign for you (hosted-signer mode, for wallet-less agents)."},"signer_pubkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signer Pubkey","description":"Required for ed25519 (Solana base58 pubkey). Ignored for eip191 — address is recovered."}},"type":"object","required":["input_hash","output_hash","decision"],"title":"AttestRequest"},"AttestResponse":{"properties":{"merkle_root":{"type":"string","title":"Merkle Root","description":"SHA-256 over the domain-separated (input_hash, output_hash, decision) — this is what gets anchored."},"signer_verified":{"type":"boolean","title":"Signer Verified"},"signer":{"type":"string","title":"Signer","description":"Recovered EVM address (eip191) or supplied Solana pubkey (ed25519)."},"base":{"anyOf":[{"$ref":"#/components/schemas/ChainAnchor"},{"type":"null"}]},"solana":{"anyOf":[{"$ref":"#/components/schemas/ChainAnchor"},{"type":"null"}]},"decision":{"type":"string","title":"Decision"},"signed_at":{"type":"integer","title":"Signed At"},"signed_by":{"type":"string","title":"Signed By","description":"\"caller\" (you supplied the signature) or \"treasury\" (hosted-signer mode).","default":"caller"},"verify_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verify Url","description":"Free endpoint a relying party POSTs this receipt to for independent re-verification."}},"type":"object","required":["merkle_root","signer_verified","signer","decision","signed_at"],"title":"AttestResponse"},"AttestVerifyRequest":{"properties":{"input_hash":{"type":"string","title":"Input Hash","description":"64-char hex SHA-256 of the agent's input."},"output_hash":{"type":"string","title":"Output Hash","description":"64-char hex SHA-256 of the agent's output / decision payload."},"decision":{"type":"string","maxLength":64,"title":"Decision"},"scheme":{"type":"string","enum":["eip191","ed25519"],"title":"Scheme","description":"\"eip191\" or \"ed25519\" — matches the receipt."},"signature":{"type":"string","title":"Signature","description":"The signature from the receipt."},"signer_pubkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signer Pubkey","description":"Required for ed25519."},"base_tx":{"type":"string","title":"Base Tx","description":"0x-prefixed Base tx hash returned by the mint."}},"type":"object","required":["input_hash","output_hash","decision","scheme","signature","base_tx"],"title":"AttestVerifyRequest","description":"A minted receipt submitted for free re-verification: the signed tuple plus\nthe signature and the Base tx that should carry the anchored root."},"AttestVerifyResponse":{"properties":{"valid":{"type":"boolean","title":"Valid","description":"True iff signature verified AND the Base tx confirms the exact root."},"merkle_root":{"type":"string","title":"Merkle Root"},"signature_valid":{"type":"boolean","title":"Signature Valid"},"signer":{"type":"string","title":"Signer"},"anchor_confirmed":{"type":"boolean","title":"Anchor Confirmed"},"root_matches":{"type":"boolean","title":"Root Matches"},"anchored_at_block":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Anchored At Block"},"anchored_at_time":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Anchored At Time"},"notes":{"type":"string","title":"Notes"}},"type":"object","required":["valid","merkle_root","signature_valid","signer","anchor_confirmed","root_matches","notes"],"title":"AttestVerifyResponse"},"AuraRequest":{"properties":{"target":{"type":"string","maxLength":4000,"minLength":1,"title":"Target","description":"Anything to read the aura of."}},"type":"object","required":["target"],"title":"AuraRequest"},"AuraResponse":{"properties":{"color":{"type":"string","title":"Color"},"tier":{"type":"string","enum":["S","A","B","C","D","F"],"title":"Tier"},"score":{"type":"integer","maximum":9999.0,"minimum":0.0,"title":"Score"},"description":{"type":"string","title":"Description"}},"type":"object","required":["color","tier","score","description"],"title":"AuraResponse"},"CalldataDecodeRequest":{"properties":{"chain":{"type":"string","enum":["ethereum","solana"],"title":"Chain","description":"\"ethereum\" supported; \"solana\" returns 400."},"calldata_hex":{"type":"string","minLength":8,"title":"Calldata Hex","description":"Raw EVM calldata (>=4-byte selector), with or without 0x prefix."},"contract_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Address","description":"Optional. Reserved for future on-chain ABI lookups; currently unused."}},"type":"object","required":["chain","calldata_hex"],"title":"CalldataDecodeRequest"},"CalldataDecodeResponse":{"properties":{"function_selector":{"type":"string","title":"Function Selector"},"function_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Function Name"},"function_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Function Signature"},"params":{"items":{"$ref":"#/components/schemas/DecodedParam"},"type":"array","title":"Params"},"decoded":{"type":"boolean","title":"Decoded"},"candidates":{"items":{"type":"string"},"type":"array","title":"Candidates","description":"Other matching sigs when the 4byte selector is ambiguous."},"source":{"type":"string","title":"Source","default":"openchain.xyz"}},"type":"object","required":["function_selector","decoded"],"title":"CalldataDecodeResponse"},"ChainAnchor":{"properties":{"tx":{"type":"string","title":"Tx"},"explorer_url":{"type":"string","title":"Explorer Url"}},"type":"object","required":["tx","explorer_url"],"title":"ChainAnchor"},"DatetimeComponents":{"properties":{"year":{"type":"integer","title":"Year"},"month":{"type":"integer","title":"Month"},"day":{"type":"integer","title":"Day"},"hour":{"type":"integer","title":"Hour"},"minute":{"type":"integer","title":"Minute"},"second":{"type":"integer","title":"Second"},"weekday":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"Weekday"},"day_name":{"type":"string","title":"Day Name"}},"type":"object","required":["year","month","day","hour","minute","second","weekday","day_name"],"title":"DatetimeComponents"},"DatetimeParseRequest":{"properties":{"input":{"type":"string","maxLength":500,"minLength":1,"title":"Input","description":"Freeform datetime string in any format."},"base_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Time","description":"ISO 8601 reference; defaults to now UTC."},"timezone":{"type":"string","title":"Timezone","description":"IANA tz name (e.g. 'America/New_York').","default":"UTC"}},"type":"object","required":["input"],"title":"DatetimeParseRequest"},"DatetimeParseResponse":{"properties":{"iso":{"type":"string","title":"Iso"},"unix":{"type":"integer","title":"Unix"},"timezone":{"type":"string","title":"Timezone"},"components":{"$ref":"#/components/schemas/DatetimeComponents"},"relative_seconds":{"type":"integer","title":"Relative Seconds"},"relative_human":{"type":"string","title":"Relative Human"},"confidence":{"type":"string","enum":["high","medium","low"],"title":"Confidence"},"parsed_input":{"type":"string","title":"Parsed Input"}},"type":"object","required":["iso","unix","timezone","components","relative_seconds","relative_human","confidence","parsed_input"],"title":"DatetimeParseResponse"},"DecodedParam":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"type":{"type":"string","title":"Type"},"value":{"title":"Value"}},"type":"object","required":["type","value"],"title":"DecodedParam"},"GradeRequest":{"properties":{"target":{"type":"string","maxLength":6000,"minLength":1,"title":"Target","description":"Anything to grade."}},"type":"object","required":["target"],"title":"GradeRequest"},"GradeResponse":{"properties":{"letter_grade":{"type":"string","enum":["A+","A","A-","B+","B","B-","C+","C","C-","D+","D","F"],"title":"Letter Grade"},"marginalia":{"items":{"type":"string"},"type":"array","title":"Marginalia"},"summary":{"type":"string","title":"Summary"}},"type":"object","required":["letter_grade","marginalia","summary"],"title":"GradeResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IntelWalletActivity":{"properties":{"base_tx_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Base Tx Count"},"has_history":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has History"}},"type":"object","title":"IntelWalletActivity"},"IntelWalletBalances":{"properties":{"base_eth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Eth"},"eth_eth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eth Eth"},"base_usdc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Usdc"},"sol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sol"},"solana_usdc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Solana Usdc"}},"type":"object","title":"IntelWalletBalances"},"IntelWalletError":{"properties":{"source":{"type":"string","title":"Source"},"message":{"type":"string","title":"Message"}},"type":"object","required":["source","message"],"title":"IntelWalletError"},"IntelWalletIdentity":{"properties":{"ens_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ens Name"},"sns_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sns Name"}},"type":"object","title":"IntelWalletIdentity"},"IntelWalletResponse":{"properties":{"wallet":{"type":"string","title":"Wallet"},"chain_inferred":{"type":"string","title":"Chain Inferred"},"balances":{"$ref":"#/components/schemas/IntelWalletBalances"},"activity":{"$ref":"#/components/schemas/IntelWalletActivity"},"identity":{"$ref":"#/components/schemas/IntelWalletIdentity"},"sanctions":{"anyOf":[{"$ref":"#/components/schemas/ScreenResponse"},{"type":"null"}]},"errors":{"items":{"$ref":"#/components/schemas/IntelWalletError"},"type":"array","title":"Errors"},"fetched_at":{"type":"integer","title":"Fetched At"},"cache_age_seconds":{"type":"integer","title":"Cache Age Seconds"}},"type":"object","required":["wallet","chain_inferred","balances","activity","identity","fetched_at","cache_age_seconds"],"title":"IntelWalletResponse"},"InvestigateAcceptedResponse":{"properties":{"job_id":{"type":"string","title":"Job Id","description":"Unique job id; poll /v1/investigate/status/{job_id}."},"status":{"type":"string","const":"accepted","title":"Status","default":"accepted"},"status_url":{"type":"string","title":"Status Url","description":"Absolute URL to poll for completion."},"eta_seconds":{"type":"integer","title":"Eta Seconds","description":"Approximate wait until DELIVERED.","default":600}},"type":"object","required":["job_id","status_url"],"title":"InvestigateAcceptedResponse"},"InvestigateDeliverable":{"properties":{"reportUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reporturl"},"reportJsonUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reportjsonurl"},"verdict":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verdict"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"signedBy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signedby"},"signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature"},"merkleRoot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merkleroot"},"baseAnchorTx":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Baseanchortx"},"solanaAnchorTx":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Solanaanchortx"},"disclaimer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disclaimer"}},"type":"object","title":"InvestigateDeliverable"},"InvestigateRequest":{"properties":{"address":{"type":"string","title":"Address","description":"EVM 0x... or Solana base58 address to investigate."}},"type":"object","required":["address"],"title":"InvestigateRequest"},"InvestigateStatusResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"type":"string","enum":["DISPATCHING","IN_PROGRESS","DELIVERED","FAILED","UNKNOWN"],"title":"Status"},"deliverable":{"anyOf":[{"$ref":"#/components/schemas/InvestigateDeliverable"},{"type":"null"}]},"eta_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Eta Seconds"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"refund_tx":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refund Tx","description":"On-chain USDC refund tx hash (Base) when a FAILED job has been refunded. Auto-refunded for Base USDC payers; Solana/JPYC payers see `refund_pending=manual` and need a follow-up."},"refund_pending":{"anyOf":[{"type":"string","const":"manual"},{"type":"null"}],"title":"Refund Pending"}},"type":"object","required":["job_id","status"],"title":"InvestigateStatusResponse"},"LedgerReportAccepted":{"properties":{"job_id":{"type":"string","title":"Job Id","description":"Unique job id; poll /v1/ledger/report/{job_id}."},"status":{"type":"string","const":"accepted","title":"Status","default":"accepted"},"status_url":{"type":"string","title":"Status Url","description":"Absolute URL to poll for completion."},"eta_seconds":{"type":"integer","title":"Eta Seconds","description":"Approximate wait until DELIVERED.","default":120}},"type":"object","required":["job_id","status_url"],"title":"LedgerReportAccepted"},"LedgerReportRequest":{"properties":{"wallet":{"type":"string","title":"Wallet","description":"EVM address (Base) whose x402 spend to reconstruct."},"from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From","description":"ISO date or datetime, start of range. Default: 30 days before `to`."},"to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To","description":"ISO date or datetime, end of range. Default: now."},"direction":{"type":"string","enum":["outbound","inbound","both"],"title":"Direction","description":"outbound = spend, inbound = revenue.","default":"outbound"},"min_amount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"Min Amount","description":"Minimum USDC per transfer, e.g. 0.001."},"group_by":{"type":"string","enum":["service","recipient","day"],"title":"Group By","default":"service"},"include_unfiltered":{"type":"boolean","title":"Include Unfiltered","description":"Include non-x402 USDC transfers as category=other_transfer.","default":false},"format":{"type":"string","enum":["markdown","csv","both"],"title":"Format","default":"both"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"Report title; appears in the markdown header."},"prepared_for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prepared For","description":"Optional client name for the report header."}},"type":"object","required":["wallet"],"title":"LedgerReportRequest"},"LedgerReportStatus":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"type":"string","title":"Status","description":"DISPATCHING | IN_PROGRESS | DELIVERED | FAILED | UNKNOWN"},"deliverable":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Deliverable","description":"On DELIVERED: report URLs, sha256, eip191 signature, dual-chain anchor txs."},"eta_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Eta Seconds"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"refund_tx":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refund Tx"},"refund_pending":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refund Pending"}},"type":"object","required":["job_id","status"],"title":"LedgerReportStatus"},"LedgerSummaryRequest":{"properties":{"wallet":{"type":"string","title":"Wallet","description":"EVM address (Base) whose x402 spend to reconstruct."},"from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From","description":"ISO date or datetime, start of range. Default: 30 days before `to`."},"to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To","description":"ISO date or datetime, end of range. Default: now."},"direction":{"type":"string","enum":["outbound","inbound","both"],"title":"Direction","description":"outbound = spend, inbound = revenue.","default":"outbound"},"min_amount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"Min Amount","description":"Minimum USDC per transfer, e.g. 0.001."},"group_by":{"type":"string","enum":["service","recipient","day"],"title":"Group By","default":"service"},"include_unfiltered":{"type":"boolean","title":"Include Unfiltered","description":"Include non-x402 USDC transfers as category=other_transfer.","default":false}},"type":"object","required":["wallet"],"title":"LedgerSummaryRequest"},"NameAddress":{"properties":{"chain":{"type":"string","title":"Chain","description":"\"ethereum\" | \"solana\""},"address":{"type":"string","title":"Address"},"ttl_hint_seconds":{"type":"integer","title":"Ttl Hint Seconds"}},"type":"object","required":["chain","address","ttl_hint_seconds"],"title":"NameAddress"},"NameResolveResponse":{"properties":{"name":{"type":"string","title":"Name"},"addresses":{"items":{"$ref":"#/components/schemas/NameAddress"},"type":"array","title":"Addresses"},"resolved_at":{"type":"integer","title":"Resolved At"},"registry_used":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registry Used","description":"\"ENS\" | \"SNS\" | null"},"supported_tlds":{"items":{"type":"string"},"type":"array","title":"Supported Tlds"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["name","resolved_at","supported_tlds"],"title":"NameResolveResponse"},"OracleRequest":{"properties":{"question":{"type":"string","maxLength":1000,"minLength":1,"title":"Question","description":"A yes/no question for the oracle."}},"type":"object","required":["question"],"title":"OracleRequest"},"OracleResponse":{"properties":{"answer":{"type":"string","enum":["YES","NO","MAYBE"],"title":"Answer"},"explanation":{"type":"string","title":"Explanation"},"merkle_root":{"type":"string","title":"Merkle Root","description":"sha256(question|answer|asked_at), 64 hex chars no 0x."},"base_tx":{"type":"string","title":"Base Tx"},"solana_tx":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Solana Tx"},"asked_at":{"type":"integer","title":"Asked At"}},"type":"object","required":["answer","explanation","merkle_root","base_tx","asked_at"],"title":"OracleResponse"},"RoastRequest":{"properties":{"target":{"type":"string","maxLength":8000,"minLength":1,"title":"Target","description":"Anything to roast: wallet, tweet, idea, code, etc."}},"type":"object","required":["target"],"title":"RoastRequest"},"RoastResponse":{"properties":{"roast":{"type":"string","title":"Roast"},"target_summary":{"type":"string","title":"Target Summary"}},"type":"object","required":["roast","target_summary"],"title":"RoastResponse"},"RollRequest":{"properties":{"low":{"type":"integer","title":"Low","description":"Inclusive low bound of the integer range."},"high":{"type":"integer","title":"High","description":"Inclusive high bound. Must be >= low."},"count":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Count","description":"How many integers to sample. 1-100.","default":1},"commitment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commitment","description":"Optional 32-byte hex pre-commitment from the caller. Included in the signed payload, so the server cannot have chosen the result after seeing the caller's downstream intent."},"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Label","description":"Optional caller-defined tag (e.g. 'treasure_drop_42'). Included verbatim in the signed payload."}},"type":"object","required":["low","high"],"title":"RollRequest"},"RollResponse":{"properties":{"range":{"items":{"type":"integer"},"type":"array","title":"Range"},"count":{"type":"integer","title":"Count"},"commitment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commitment"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"result":{"items":{"type":"integer"},"type":"array","title":"Result"},"input_hash":{"type":"string","title":"Input Hash"},"result_hash":{"type":"string","title":"Result Hash"},"signature":{"type":"string","title":"Signature"},"signer":{"type":"string","title":"Signer"},"scheme":{"type":"string","const":"eip191","title":"Scheme"},"domain":{"type":"string","const":"anchor-x402/roll/v1","title":"Domain"}},"type":"object","required":["range","count","commitment","label","result","input_hash","result_hash","signature","signer","scheme","domain"],"title":"RollResponse"},"ScreenResponse":{"properties":{"wallet":{"type":"string","title":"Wallet"},"chain_inferred":{"type":"string","title":"Chain Inferred","description":"\"ethereum\" | \"solana\" | \"unknown\""},"sanctions_match":{"type":"boolean","title":"Sanctions Match"},"sanctioned_lists":{"items":{"type":"string"},"type":"array","title":"Sanctioned Lists"},"risk_level":{"type":"string","title":"Risk Level","description":"\"low\" | \"medium\" | \"high\" | \"critical\""},"notes":{"type":"string","title":"Notes"},"checked_at":{"type":"integer","title":"Checked At"},"recommendation":{"type":"string","title":"Recommendation","description":"\"allow\" | \"review\" | \"block\" — the field an agent branches on before sending funds.","default":"review"},"risk_score":{"type":"integer","title":"Risk Score","description":"0-100; higher is riskier.","default":0},"address_type":{"type":"string","title":"Address Type","description":"\"eoa\" | \"contract\" | \"unknown\"","default":"unknown"},"signals":{"items":{"$ref":"#/components/schemas/ScreenSignal"},"type":"array","title":"Signals"},"labels":{"items":{"type":"string"},"type":"array","title":"Labels"},"corpus_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Corpus Version"},"partial":{"type":"boolean","title":"Partial","description":"True if the enrichment layer was unavailable or N/A (Solana) — treat an `allow` as provisional.","default":false}},"type":"object","required":["wallet","chain_inferred","sanctions_match","risk_level","notes","checked_at"],"title":"ScreenResponse"},"ScreenSignal":{"properties":{"code":{"type":"string","title":"Code"},"severity":{"type":"string","title":"Severity","description":"\"critical\" | \"high\" | \"medium\""},"source":{"type":"string","title":"Source","description":"\"treasury.gov\" | \"goplus\""},"detail":{"type":"string","title":"Detail"}},"type":"object","required":["code","severity","source","detail"],"title":"ScreenSignal"},"TldrRequest":{"properties":{"text":{"anyOf":[{"type":"string","maxLength":200000},{"type":"null"}],"title":"Text"},"url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Url"}},"type":"object","title":"TldrRequest"},"TldrResponse":{"properties":{"summary_bullets":{"items":{"type":"string"},"type":"array","title":"Summary Bullets"},"source_chars":{"type":"integer","title":"Source Chars"}},"type":"object","required":["summary_bullets","source_chars"],"title":"TldrResponse"},"TokenPriceResponse":{"properties":{"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"contract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract"},"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"},"usd":{"type":"number","title":"Usd"},"usd_24h_change_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usd 24H Change Pct"},"market_cap_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Market Cap Usd"},"source":{"type":"string","title":"Source","default":"coingecko"},"fetched_at":{"type":"integer","title":"Fetched At"},"age_seconds":{"type":"integer","title":"Age Seconds"}},"type":"object","required":["usd","fetched_at","age_seconds"],"title":"TokenPriceResponse"},"TxDecodeRequest":{"properties":{"chain":{"type":"string","enum":["base","ethereum","solana"],"title":"Chain"},"tx_hash":{"type":"string","maxLength":128,"minLength":1,"title":"Tx Hash"}},"type":"object","required":["chain","tx_hash"],"title":"TxDecodeRequest"},"TxDecodeResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"tx_hash":{"type":"string","title":"Tx Hash"},"block_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Block Number"},"timestamp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Timestamp"},"from_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Address"},"to_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Address"},"value_wei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Wei"},"value_eth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Eth"},"gas_used":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gas Used"},"status":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Status"},"input_calldata_hex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Calldata Hex"},"native_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Native Currency"},"slot":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Slot"},"block_time":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Block Time"},"fee_lamports":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Fee Lamports"},"signers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Signers"},"program_calls":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Program Calls"}},"type":"object","required":["chain","tx_hash"],"title":"TxDecodeResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"_NameBody":{"properties":{"name":{"type":"string","title":"Name","description":"Human-readable name, e.g. 'vitalik.eth' or 'bonfida.sol'. ENS (.eth) and Bonfida SNS (.sol) are supported."}},"type":"object","required":["name"],"title":"_NameBody"},"_TokenPriceBody":{"properties":{"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol","description":"Token symbol like 'ETH', 'BTC', 'SOL', 'USDC'. Mutually exclusive with chain+contract."},"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain","description":"Chain slug: base, ethereum, solana, polygon, arbitrum, optimism, bsc, avalanche. Use with contract."},"contract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract","description":"Token contract address. Requires chain."}},"type":"object","title":"_TokenPriceBody"},"_WalletBody":{"properties":{"wallet":{"type":"string","title":"Wallet","description":"EVM 0x… address (40 hex) or Solana base58 pubkey."}},"type":"object","required":["wallet"],"title":"_WalletBody"}}}}