{"openapi":"3.1.0","info":{"title":"ChainScope","description":"Multi-chain wallet and address intelligence for AI agents. One consistent tool interface across Ethereum, Base, Arbitrum, Optimism, Polygon, Bitcoin, and Solana -- balances, transactions, activity, fees, and a flagship full wallet scan with safety flagging -- instead of building 7 separate chain integrations yourself.","version":"1.0.0"},"paths":{"/healthz":{"get":{"summary":"Healthz","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Healthz Healthz Get"}}}}},"security":[]}},"/llms.txt":{"get":{"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}},"security":[]}},"/":{"get":{"summary":"Landing","operationId":"landing__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[]}},"/tools/wallet-balance":{"post":{"tags":["wallet_balance"],"summary":"Wallet Balance Endpoint","operationId":"wallet_balance_endpoint_tools_wallet_balance_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletBalanceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletBalanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/tx-lookup":{"post":{"tags":["tx_lookup"],"summary":"Tx Lookup Endpoint","operationId":"tx_lookup_endpoint_tools_tx_lookup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TxLookupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TxLookupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/fee-estimate":{"post":{"tags":["fee_estimate"],"summary":"Fee Estimate Endpoint","operationId":"fee_estimate_endpoint_tools_fee_estimate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeeEstimateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeeEstimateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/contract-inspect":{"post":{"tags":["contract_inspect"],"summary":"Contract Inspect Endpoint","operationId":"contract_inspect_endpoint_tools_contract_inspect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractInspectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractInspectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/token-holdings":{"post":{"tags":["token_holdings"],"summary":"Token Holdings Endpoint","operationId":"token_holdings_endpoint_tools_token_holdings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenHoldingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenHoldingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/address-activity":{"post":{"tags":["address_activity"],"summary":"Address Activity Endpoint","operationId":"address_activity_endpoint_tools_address_activity_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressActivityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/wallet-scan":{"post":{"tags":["wallet_scan"],"summary":"Wallet Scan Endpoint","operationId":"wallet_scan_endpoint_tools_wallet_scan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletScanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletScanResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/ens-resolve":{"post":{"tags":["ens_resolve"],"summary":"Ens Resolve Endpoint","operationId":"ens_resolve_endpoint_tools_ens_resolve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnsResolveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnsResolveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/wallet-balance/batch":{"post":{"tags":["wallet_balance_batch"],"summary":"Wallet Balance Batch Endpoint","operationId":"wallet_balance_batch_endpoint_tools_wallet_balance_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletBalanceBatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletBalanceBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/chain-tip":{"post":{"tags":["chain_tip"],"summary":"Chain Tip Endpoint","operationId":"chain_tip_endpoint_tools_chain_tip_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChainTipRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChainTipResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/chain-info":{"post":{"tags":["chain_info"],"summary":"Chain Info Endpoint","operationId":"chain_info_endpoint_tools_chain_info_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChainInfoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChainInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/tx-receipt":{"post":{"tags":["tx_receipt"],"summary":"Tx Receipt Endpoint","operationId":"tx_receipt_endpoint_tools_tx_receipt_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TxReceiptRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TxReceiptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/block-lookup":{"post":{"tags":["block_lookup"],"summary":"Block Lookup Endpoint","operationId":"block_lookup_endpoint_tools_block_lookup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockLookupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockLookupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/is-contract":{"post":{"tags":["is_contract"],"summary":"Is Contract Endpoint","operationId":"is_contract_endpoint_tools_is_contract_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsContractRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsContractResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/nonce":{"post":{"tags":["nonce"],"summary":"Nonce Endpoint","operationId":"nonce_endpoint_tools_nonce_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NonceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NonceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/token-allowance":{"post":{"tags":["token_allowance"],"summary":"Token Allowance Endpoint","operationId":"token_allowance_endpoint_tools_token_allowance_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenAllowanceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenAllowanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/token-supply":{"post":{"tags":["token_supply"],"summary":"Token Supply Endpoint","operationId":"token_supply_endpoint_tools_token_supply_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSupplyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSupplyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/token-balance":{"post":{"tags":["token_balance_single"],"summary":"Token Balance Single Endpoint","operationId":"token_balance_single_endpoint_tools_token_balance_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenBalanceSingleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenBalanceSingleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/nft-owner":{"post":{"tags":["nft_owner"],"summary":"Nft Owner Endpoint","operationId":"nft_owner_endpoint_tools_nft_owner_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NftOwnerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NftOwnerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/nft-balance":{"post":{"tags":["nft_balance"],"summary":"Nft Balance Endpoint","operationId":"nft_balance_endpoint_tools_nft_balance_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NftBalanceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NftBalanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/gas-estimate":{"post":{"tags":["gas_estimate"],"summary":"Gas Estimate Endpoint","operationId":"gas_estimate_endpoint_tools_gas_estimate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GasEstimateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GasEstimateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/token-transfers":{"post":{"tags":["token_transfers"],"summary":"Token Transfers Endpoint","operationId":"token_transfers_endpoint_tools_token_transfers_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenTransfersRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenTransfersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/nft-metadata":{"post":{"tags":["nft_metadata"],"summary":"Nft Metadata Endpoint","operationId":"nft_metadata_endpoint_tools_nft_metadata_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NftMetadataRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NftMetadataResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools/proxy-check":{"post":{"tags":["proxy_check"],"summary":"Proxy Check Endpoint","operationId":"proxy_check_endpoint_tools_proxy_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ActivityEntryResponse":{"properties":{"tx_hash":{"type":"string","title":"Tx Hash"},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp"},"direction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"},"counterparty":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterparty"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"}},"type":"object","required":["tx_hash","timestamp","direction","counterparty","value"],"title":"ActivityEntryResponse"},"AddressActivityRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","bitcoin","solana","arbitrum","optimism","polygon"],"title":"Chain"},"limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit","default":20}},"type":"object","required":["address","chain"],"title":"AddressActivityRequest"},"AddressActivityResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"activity":{"items":{"$ref":"#/components/schemas/ActivityEntryResponse"},"type":"array","title":"Activity"}},"type":"object","required":["chain","address","activity"],"title":"AddressActivityResponse"},"BlockLookupRequest":{"properties":{"block":{"type":"string","maxLength":32,"minLength":1,"title":"Block","description":"block number as a decimal string, or 'latest'/'pending'"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["block","chain"],"title":"BlockLookupRequest"},"BlockLookupResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"number":{"type":"integer","title":"Number"},"hash":{"type":"string","title":"Hash"},"parent_hash":{"type":"string","title":"Parent Hash"},"timestamp":{"type":"string","title":"Timestamp"},"transaction_count":{"type":"integer","title":"Transaction Count"},"transaction_hashes":{"items":{"type":"string"},"type":"array","title":"Transaction Hashes"}},"type":"object","required":["chain","number","hash","parent_hash","timestamp","transaction_count","transaction_hashes"],"title":"BlockLookupResponse"},"ChainInfoRequest":{"properties":{"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain","description":"which EVM chain to report on"}},"type":"object","required":["chain"],"title":"ChainInfoRequest"},"ChainInfoResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"chain_id":{"type":"integer","title":"Chain Id"},"block_height":{"type":"integer","title":"Block Height"},"gas_price_gwei":{"type":"string","title":"Gas Price Gwei"}},"type":"object","required":["chain","chain_id","block_height","gas_price_gwei"],"title":"ChainInfoResponse"},"ChainTipRequest":{"properties":{"chain":{"type":"string","enum":["ethereum","base","bitcoin","solana","arbitrum","optimism","polygon"],"title":"Chain","description":"which chain's current tip to report"}},"type":"object","required":["chain"],"title":"ChainTipRequest"},"ChainTipResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"height":{"type":"integer","title":"Height","description":"current block number (EVM chains, Bitcoin) or slot (Solana)"}},"type":"object","required":["chain","height"],"title":"ChainTipResponse"},"ContractInspectRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["address","chain"],"title":"ContractInspectRequest"},"ContractInspectResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"is_contract":{"type":"boolean","title":"Is Contract"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"},"decimals":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Decimals"}},"type":"object","required":["chain","address","is_contract","name","symbol","decimals"],"title":"ContractInspectResponse"},"EnsResolveRequest":{"properties":{"query":{"type":"string","maxLength":256,"minLength":1,"title":"Query","description":"either a .eth name (forward resolve to an address) or a 0x address (reverse resolve to its primary name)"}},"type":"object","required":["query"],"title":"EnsResolveRequest"},"EnsResolveResponse":{"properties":{"query":{"type":"string","title":"Query"},"resolved_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolved Address"},"resolved_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolved Name"}},"type":"object","required":["query","resolved_address","resolved_name"],"title":"EnsResolveResponse"},"FeeEstimateRequest":{"properties":{"chain":{"type":"string","enum":["ethereum","base","bitcoin","solana","arbitrum","optimism","polygon"],"title":"Chain","description":"which chain's current network fee conditions to report"}},"type":"object","required":["chain"],"title":"FeeEstimateRequest"},"FeeEstimateResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"unit":{"type":"string","title":"Unit"},"slow":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slow"},"standard":{"type":"string","title":"Standard"},"fast":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fast"}},"type":"object","required":["chain","unit","slow","standard","fast"],"title":"FeeEstimateResponse"},"GasEstimateRequest":{"properties":{"to":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"To","description":"recipient address, omit for a contract-creation tx"},"from":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"From","description":"sender address"},"value_wei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Wei","description":"value to send, in wei, as a decimal string"},"data":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data","description":"calldata, 0x-prefixed hex"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["chain"],"title":"GasEstimateRequest"},"GasEstimateResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"gas_estimate":{"type":"integer","title":"Gas Estimate"}},"type":"object","required":["chain","gas_estimate"],"title":"GasEstimateResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IsContractRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["address","chain"],"title":"IsContractRequest"},"IsContractResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"is_contract":{"type":"boolean","title":"Is Contract"}},"type":"object","required":["chain","address","is_contract"],"title":"IsContractResponse"},"NftBalanceRequest":{"properties":{"contract_address":{"type":"string","maxLength":128,"minLength":1,"title":"Contract Address"},"owner":{"type":"string","maxLength":128,"minLength":1,"title":"Owner"},"token_id":{"type":"string","maxLength":100,"minLength":1,"title":"Token Id","description":"ERC1155 token ID, as a decimal string"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["contract_address","owner","token_id","chain"],"title":"NftBalanceRequest"},"NftBalanceResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"contract_address":{"type":"string","title":"Contract Address"},"owner":{"type":"string","title":"Owner"},"token_id":{"type":"string","title":"Token Id"},"balance":{"type":"integer","title":"Balance"}},"type":"object","required":["chain","contract_address","owner","token_id","balance"],"title":"NftBalanceResponse"},"NftMetadataRequest":{"properties":{"contract_address":{"type":"string","maxLength":128,"minLength":1,"title":"Contract Address"},"token_id":{"type":"string","maxLength":100,"minLength":1,"title":"Token Id","description":"ERC721 token ID, as a decimal string"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["contract_address","token_id","chain"],"title":"NftMetadataRequest"},"NftMetadataResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"contract_address":{"type":"string","title":"Contract Address"},"token_id":{"type":"string","title":"Token Id"},"token_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Uri"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"metadata_available":{"type":"boolean","title":"Metadata Available"}},"type":"object","required":["chain","contract_address","token_id","token_uri","metadata","metadata_available"],"title":"NftMetadataResponse"},"NftOwnerRequest":{"properties":{"contract_address":{"type":"string","maxLength":128,"minLength":1,"title":"Contract Address"},"token_id":{"type":"string","maxLength":100,"minLength":1,"title":"Token Id","description":"ERC721 token ID, as a decimal string"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["contract_address","token_id","chain"],"title":"NftOwnerRequest"},"NftOwnerResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"contract_address":{"type":"string","title":"Contract Address"},"token_id":{"type":"string","title":"Token Id"},"owner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner"}},"type":"object","required":["chain","contract_address","token_id","owner"],"title":"NftOwnerResponse"},"NonceRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["address","chain"],"title":"NonceRequest"},"NonceResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"nonce":{"type":"integer","title":"Nonce"}},"type":"object","required":["chain","address","nonce"],"title":"NonceResponse"},"ProxyCheckRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["address","chain"],"title":"ProxyCheckRequest"},"ProxyCheckResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"is_proxy":{"type":"boolean","title":"Is Proxy"},"implementation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Implementation"},"admin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin"},"beacon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Beacon"}},"type":"object","required":["chain","address","is_proxy","implementation","admin","beacon"],"title":"ProxyCheckResponse"},"TokenAllowanceRequest":{"properties":{"token_address":{"type":"string","maxLength":128,"minLength":1,"title":"Token Address"},"owner":{"type":"string","maxLength":128,"minLength":1,"title":"Owner"},"spender":{"type":"string","maxLength":128,"minLength":1,"title":"Spender"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["token_address","owner","spender","chain"],"title":"TokenAllowanceRequest"},"TokenAllowanceResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"token_address":{"type":"string","title":"Token Address"},"owner":{"type":"string","title":"Owner"},"spender":{"type":"string","title":"Spender"},"allowance":{"type":"string","title":"Allowance"},"raw_allowance":{"type":"string","title":"Raw Allowance"}},"type":"object","required":["chain","token_address","owner","spender","allowance","raw_allowance"],"title":"TokenAllowanceResponse"},"TokenBalanceSingleRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"token_address":{"type":"string","maxLength":128,"minLength":1,"title":"Token Address"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["address","token_address","chain"],"title":"TokenBalanceSingleRequest"},"TokenBalanceSingleResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"token_address":{"type":"string","title":"Token Address"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"},"balance":{"type":"string","title":"Balance"},"raw_balance":{"type":"string","title":"Raw Balance"}},"type":"object","required":["chain","address","token_address","symbol","balance","raw_balance"],"title":"TokenBalanceSingleResponse"},"TokenHoldingResponse":{"properties":{"token_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Address"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"},"balance":{"type":"string","title":"Balance"},"raw_balance":{"type":"string","title":"Raw Balance"},"value_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value Usd"}},"type":"object","required":["token_address","symbol","balance","raw_balance"],"title":"TokenHoldingResponse"},"TokenHoldingsRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","solana","arbitrum","optimism","polygon"],"title":"Chain"},"token_addresses":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Token Addresses","description":"EVM chains only: specific token contract addresses to check. Omit to use the built-in watchlist (USDC/USDT/WETH/DAI on Ethereum, USDC/WETH on Base). Ignored for Solana, which enumerates every SPL token account the wallet actually holds."}},"type":"object","required":["address","chain"],"title":"TokenHoldingsRequest"},"TokenHoldingsResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"holdings":{"items":{"$ref":"#/components/schemas/TokenHoldingResponse"},"type":"array","title":"Holdings"},"total_value_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Value Usd"}},"type":"object","required":["chain","address","holdings"],"title":"TokenHoldingsResponse"},"TokenSupplyRequest":{"properties":{"token_address":{"type":"string","maxLength":128,"minLength":1,"title":"Token Address"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["token_address","chain"],"title":"TokenSupplyRequest"},"TokenSupplyResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"token_address":{"type":"string","title":"Token Address"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"},"total_supply":{"type":"string","title":"Total Supply"},"raw_total_supply":{"type":"string","title":"Raw Total Supply"}},"type":"object","required":["chain","token_address","symbol","total_supply","raw_total_supply"],"title":"TokenSupplyResponse"},"TokenTransfersRequest":{"properties":{"token_address":{"type":"string","maxLength":128,"minLength":1,"title":"Token Address"},"address":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Address","description":"filter to transfers where this address is sender or receiver"},"from_block":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"From Block","description":"decimal block number, or 'latest'/'pending'; defaults to a recent window"},"to_block":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"To Block","description":"decimal block number, or 'latest'/'pending'; defaults to 'latest'"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["token_address","chain"],"title":"TokenTransfersRequest"},"TokenTransfersResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"token_address":{"type":"string","title":"Token Address"},"transfers":{"items":{"$ref":"#/components/schemas/TransferEntry"},"type":"array","title":"Transfers"}},"type":"object","required":["chain","token_address","transfers"],"title":"TokenTransfersResponse"},"TransferEntry":{"properties":{"tx_hash":{"type":"string","title":"Tx Hash"},"block_number":{"type":"integer","title":"Block Number"},"from_address":{"type":"string","title":"From Address"},"to_address":{"type":"string","title":"To Address"},"value":{"type":"string","title":"Value"},"raw_value":{"type":"string","title":"Raw Value"}},"type":"object","required":["tx_hash","block_number","from_address","to_address","value","raw_value"],"title":"TransferEntry"},"TxLookupRequest":{"properties":{"tx_hash":{"type":"string","maxLength":128,"minLength":1,"title":"Tx Hash"},"chain":{"type":"string","enum":["ethereum","base","bitcoin","solana","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["tx_hash","chain"],"title":"TxLookupRequest"},"TxLookupResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"tx_hash":{"type":"string","title":"Tx Hash"},"status":{"type":"string","title":"Status"},"from_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Address"},"to_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Address"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"},"fee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fee"},"block_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Block Number"},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp"}},"type":"object","required":["chain","tx_hash","status","from_address","to_address","value","fee","block_number","timestamp"],"title":"TxLookupResponse"},"TxReceiptRequest":{"properties":{"tx_hash":{"type":"string","maxLength":128,"minLength":1,"title":"Tx Hash"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["tx_hash","chain"],"title":"TxReceiptRequest"},"TxReceiptResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"tx_hash":{"type":"string","title":"Tx Hash"},"status":{"type":"string","title":"Status"},"gas_used":{"type":"integer","title":"Gas Used"},"effective_gas_price_gwei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective Gas Price Gwei"},"block_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Block Number"}},"type":"object","required":["chain","tx_hash","status","gas_used","effective_gas_price_gwei","block_number"],"title":"TxReceiptResponse"},"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"},"WalletBalanceBatchRequest":{"properties":{"wallets":{"items":{"$ref":"#/components/schemas/WalletBatchItem"},"type":"array","maxItems":10,"minItems":1,"title":"Wallets"}},"type":"object","required":["wallets"],"title":"WalletBalanceBatchRequest"},"WalletBalanceBatchResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/WalletBalanceBatchResultItem"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"WalletBalanceBatchResponse"},"WalletBalanceBatchResultItem":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"native_balance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Native Balance"},"native_symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Native Symbol"},"native_value_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Native Value Usd"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["chain","address"],"title":"WalletBalanceBatchResultItem"},"WalletBalanceRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","bitcoin","solana","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["address","chain"],"title":"WalletBalanceRequest"},"WalletBalanceResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"native_balance":{"type":"string","title":"Native Balance"},"native_symbol":{"type":"string","title":"Native Symbol"}},"type":"object","required":["chain","address","native_balance","native_symbol"],"title":"WalletBalanceResponse"},"WalletBatchItem":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","bitcoin","solana","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["address","chain"],"title":"WalletBatchItem"},"WalletScanRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":1,"title":"Address"},"chain":{"type":"string","enum":["ethereum","base","bitcoin","solana","arbitrum","optimism","polygon"],"title":"Chain"}},"type":"object","required":["address","chain"],"title":"WalletScanRequest"},"WalletScanResponse":{"properties":{"chain":{"type":"string","title":"Chain"},"address":{"type":"string","title":"Address"},"native_balance":{"type":"string","title":"Native Balance"},"native_symbol":{"type":"string","title":"Native Symbol"},"native_value_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Native Value Usd"},"token_holdings":{"items":{"$ref":"#/components/schemas/TokenHoldingResponse"},"type":"array","title":"Token Holdings"},"token_holdings_available":{"type":"boolean","title":"Token Holdings Available"},"recent_activity":{"items":{"$ref":"#/components/schemas/ActivityEntryResponse"},"type":"array","title":"Recent Activity"},"activity_available":{"type":"boolean","title":"Activity Available"},"sanctioned":{"type":"boolean","title":"Sanctioned"},"total_value_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Value Usd"}},"type":"object","required":["chain","address","native_balance","native_symbol","token_holdings","token_holdings_available","recent_activity","activity_available","sanctioned"],"title":"WalletScanResponse"}}}}