{"x402Version":2,"items":[{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/audit","description":"On-chain wallet audit (balances + gas + recent txs across OP/Base/Mainnet)","mimeType":"application/json","serviceName":"Wallet Audit","tags":["wallet-audit","onchain","balances","gas","transactions"],"method":"GET","routeTemplate":"/audit","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}},"output":{"type":"json","example":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","chains":{"op":{"eth":"0.1","usdc":"100","sUsdc":"50","gasSpentUsd":1.2,"recentTxs":[]}}}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/token","description":"Token safety audit on Base: honeypot simulation, buy/sell/transfer taxes, liquidity USD, holders, source verification, proxy, owner renouncement — 0-100 score + verdict","mimeType":"application/json","serviceName":"Token Safety Audit","tags":["token-audit","honeypot","tax","liquidity","onchain","safety"],"method":"GET","routeTemplate":"/token","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"address":"0x3e12b9d6a4d12cd9b4a6d613872d0eb32f68b380"}},"output":{"type":"json","example":{"address":"0x3e12b9d6a4d12cd9b4a6d613872d0eb32f68b380","score":0,"verdict":"danger","reasons":["HONEYPOT: simulação de venda bloqueada (não dá pra sair)"]}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/gas","description":"Live gas prices: gasPrice, maxPriorityFee (EIP-1559) and latest block for Base, Optimism and Ethereum Mainnet — public RPCs, no API key","mimeType":"application/json","serviceName":"Gas Prices","tags":["gas","fees","eip1559","base","optimism","ethereum","rpc","gwei"],"method":"GET","routeTemplate":"/gas","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"chain":"all"}},"output":{"type":"json","example":{"chains":{"base":{"chain":"base","gasPriceGwei":0.021,"maxPriorityFeeGwei":0.002,"blockNumber":24400000,"timestamp":"2026-08-04T22:00:00.000Z"}},"requestedAt":"2026-08-04T22:00:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/price","description":"Token prices on Base, Optimism or Ethereum Mainnet: spot USD price, supply and market cap for up to 30 tokens at once, computed on-chain from the most liquid DEX pool (Uniswap V3 + Uniswap V2)","mimeType":"application/json","serviceName":"Token Prices","tags":["prices","spot","usd","base","op","mainnet","market-cap","supply","tokens","onchain","multichain"],"method":"GET","routeTemplate":"/price","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}},"output":{"type":"json","example":{"network":"base","count":1,"tokens":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","priceUsd":1.0002,"supply":50000000000,"marketCapUsd":50001000000,"source":"uniswap-v3:500"}],"missing":[],"requestedAt":"2026-08-04T23:30:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/tx","description":"Transaction status on Base: on-chain receipt for any tx hash — success/reverted, block number, gas used, from/to, value and log count (no explorer API)","mimeType":"application/json","serviceName":"Transaction Status","tags":["tx","receipt","status","settlement","base","onchain","confirmation"],"method":"GET","routeTemplate":"/tx","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"hash":"0x941a93c4a4d7c5f2c14b0a4f3c6b1f7a0a5b4e3d2c1f0e9a8b7c6d5e4f3a2b1c0"}},"output":{"type":"json","example":{"network":"base","hash":"0x941a93c…","found":true,"status":"success","blockNumber":24400123,"gasUsed":21000,"from":"0x…","to":"0x…","valueEth":0.1,"logCount":0}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/tx-full","description":"Full transaction intel on Base, Optimism or Ethereum Mainnet: raw tx (from/to/value, nonce, type, EIP-1559 fees, input calldata) + receipt (success/reverted, gas, logs) + block timestamp + confirmations + decoded function call (4-byte selector against ~40 known functions with typed args) + event summary (Transfer/Approval/Swap/Deposit) — what did this tx do and what did it cost, in one call","mimeType":"application/json","serviceName":"Transaction Intel (Full)","tags":["tx","transaction","calldata","decode","receipt","base","optimism","ethereum","onchain","fees","eip1559"],"method":"GET","routeTemplate":"/tx-full","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"hash":"0x4b3c762f0eec8b264f177e82505a24c9992519b0e2ef05850f8689a4f1719f4b","chain":"base"}},"output":{"type":"json","example":{"network":"base","hash":"0x4b3c762f0eec8b264f177e82505a24c9992519b0e2ef05850f8689a4f1719f4b","found":true,"status":"success","blockNumber":49559107,"timestamp":{"unix":1785907561,"iso":"2026-08-05T05:26:01.000Z"},"confirmations":105,"from":"0x56f326d8aac060215f15cf36502b27dc1140b4bf","to":"0xb73a2982783cf9f35b02faf4654df2b660562ef4","valueEth":0,"type":"eip1559","gasUsed":192900,"effectiveGasPriceGwei":0.029475081,"transactionFeeEth":0.0000056857431249,"inputSize":112,"function":{"selector":"0x01000000","name":null,"known":false},"logCount":3,"logSummary":[{"name":"Transfer","count":2},{"name":"Swap","count":1}]}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/decode","description":"Offline calldata decoder (chain-agnostic, no RPC): raw transaction calldata in, decoded function call out — 4-byte selector against ~40 known functions (transfer/approve/swapExact*Tokens*/deposit/withdraw/mint/burn/supply/borrow/repay/multicall/addLiquidity/removeLiquidity/safeTransferFrom/setApprovalForAll/execute/execTransaction) with typed, named arguments plus nested decoding of inner sub-calls (multicall bytes[], Gnosis Safe execute/execTransaction) — what will this calldata execute, before signing or relaying","mimeType":"application/json","serviceName":"Calldata Decoder","tags":["calldata","decode","abi","selector","multicall","safe","execTransaction","onchain","pre-sign"],"method":"GET","routeTemplate":"/decode","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"data":"0xa9059cbb000000000000000000000000d8dA6BF26964aF9D7eEd9e03E53415D37aA9604500000000000000000000000000000000000000000000000000000000000f4240"}},"output":{"type":"json","example":{"network":"offline","data":"0xa9059cbb000000000000000000000000d8dA6BF26964aF9D7eEd9e03E53415D37aA9604500000000000000000000000000000000000000000000000000000000000f4240","inputSize":68,"selector":"0xa9059cbb","function":{"known":true,"name":"transfer","signature":"transfer(address,uint256)","args":["0xd8da6bf26964af9d7eed9e03e53415d37aa96045","1000000"],"argsNamed":{"to":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","value":"1000000"},"decodeError":false,"nested":null},"requestedAt":"2026-08-05T08:00:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/encode","description":"Offline calldata encoder (mirror of /decode, chain-agnostic, no RPC): function name (transfer/approve/transferFrom/swapExact*Tokens*/deposit/withdraw/mint/burn/supply/borrow/repay/multicall/addLiquidity/removeLiquidity/safeTransferFrom/setApprovalForAll/execute/execTransaction — same ~40-function dictionary) or 4-byte selector + arguments as JSON (named object or positional array) in, raw calldata hex ready to sign out, with an embedded round-trip verification (verify shows the decoded call — what this calldata will execute). Build the calldata you want and confirm what it does, before signing","mimeType":"application/json","serviceName":"Calldata Encoder","tags":["calldata","encode","abi","selector","multicall","safe","execTransaction","onchain","pre-sign","build"],"method":"GET","routeTemplate":"/encode","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"fn":"transfer","args":"{\"to\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\"value\":\"1000000\"}"}},"output":{"type":"json","example":{"network":"offline","fn":"transfer","selector":"0xa9059cbb","signature":"transfer(address to, uint256 value)","calldata":"0xa9059cbb000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa9604500000000000000000000000000000000000000000000000000000000000f4240","inputSize":68,"args":{"to":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","value":"1000000"},"verify":{"known":true,"name":"transfer","signature":"transfer(address,uint256)","args":["0xd8da6bf26964af9d7eed9e03e53415d37aa96045","1000000"],"argsNamed":{"to":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","value":"1000000"},"decodeError":false,"nested":null},"requestedAt":"2026-08-05T09:00:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/eip712","description":"Offline EIP-712 typed data (chain-agnostic, no RPC): domain + types + primaryType + message JSON in, the normalized typed data plus domainSeparator, hashStruct and the final digest (the 32-byte value the wallet signs) out — and with a signature (0x+65 bytes) the recovered signer address (ecrecover), confirmed against an optional expectedAddress (recover.ok). Structs nest (arrays of structs, custom domain types like Permit2), uintN as decimal string or 0x hex, addresses 0x+40hex, bytes as 0x hex. Build/check the typed data your wallet signs (Permit/Permit2/relayer/off-chain votes) and verify who signed it, in one call","mimeType":"application/json","serviceName":"EIP-712 Typed Data","tags":["eip712","typed-data","permit","permit2","digest","domainSeparator","ecrecover","signature","offline","sign"],"method":"GET","routeTemplate":"/eip712","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"data":"{\"domain\":{\"name\":\"USDC\",\"version\":\"2\",\"chainId\":8453,\"verifyingContract\":\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"},\"types\":{\"Permit\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\"}]},\"primaryType\":\"Permit\",\"message\":{\"owner\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\"spender\":\"0x1111111111111111111111111111111111111111\",\"value\":\"1000000\",\"nonce\":\"0\",\"deadline\":\"1900000000\"}}"}},"output":{"type":"json","example":{"network":"offline","domain":{"name":"USDC","version":"2","chainId":"8453","verifyingContract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"domainSeparator":"0x8a8268fd2a7b6f2c8ab62e4b0c2c2c9f4c3e2f1a0b9c8d7e6f5a4b3c2d1e0f1a2","types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"Permit":[{"name":"owner","type":"address"},{"name":"spender","type":"address"},{"name":"value","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"deadline","type":"uint256"}]},"primaryType":"Permit","message":{"owner":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","spender":"0x1111111111111111111111111111111111111111","value":"1000000","nonce":"0","deadline":"1900000000"},"hashStruct":"0x8b3d9f2a1c4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b","digest":"0x5c2f3e4d5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e","requestedAt":"2026-08-05T09:00:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/selector","description":"Offline ABI selector generator (chain-agnostic, no RPC): a human function signature in (transfer(address,uint256), with optional parameter names — transfer(address to, uint256 value), arrays address[], tuples (bytes,address,uint256,uint256)) and the 4-byte selector out (0xa9059cbb), with the full keccak256, the parsed inputs (type + name) and a round-trip verification against the /decode dictionary (verify.known — is this function/event in the ~45-function decoder?); kind=event switches to the 32-byte topic0 (Transfer/Approval/Swap/Sync/Paused...). The signature calculator every agent building calldata or filtering logs reaches for — pure cryptography, instant response, no explorer, no API key","mimeType":"application/json","serviceName":"ABI Selector Generator","tags":["selector","signature","abi","keccak","topic0","calldata","4byte","offline","build"],"method":"GET","routeTemplate":"/selector","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"sig":"transfer(address,uint256)","kind":"function"}},"output":{"type":"json","example":{"network":"offline","kind":"function","name":"transfer","signature":"transfer(address,uint256)","inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"keccak":"0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","selector":"0xa9059cbb","verify":{"known":true,"name":"transfer","args":["address","uint256"]},"requestedAt":"2026-08-05T09:00:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/abi","description":"Offline ABI map generator (chain-agnostic, no RPC): a contract ABI (JSON array of entries) in and the full selector map out — 4-byte selector + canonical signature + typed inputs/outputs for every function, 32-byte topic0 for every event (indexed/anonymous flags) and 4-byte selector for every error, with a round-trip verification against the /decode dictionary (verify.known — which functions/events this API can already decode/encode). The one-call contract interface map for agents building calldata, indexers and log filters — pure cryptography, instant response, no explorer, no API key","mimeType":"application/json","serviceName":"ABI Map Generator","tags":["abi","selector","signature","topic0","map","contract","interface","offline","build"],"method":"GET","routeTemplate":"/abi","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"abi":"[{\"type\":\"function\",\"name\":\"transfer\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}]}]"}},"output":{"type":"json","example":{"network":"offline","count":{"functions":1,"events":0,"errors":0,"other":0},"functions":[{"name":"transfer","signature":"transfer(address,uint256)","selector":"0xa9059cbb","inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"outputs":[],"stateMutability":"nonpayable","verify":{"known":true,"name":"transfer","args":["address","uint256"]}}],"events":[],"errors":[],"other":[],"requestedAt":"2026-08-05T10:00:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/balance","description":"Wallet balance on Base, Optimism or Ethereum Mainnet: native ETH or any ERC-20 balance for any address, with decimals, formatted value and block number (no explorer API)","mimeType":"application/json","serviceName":"Wallet Balance","tags":["balance","wallet","erc20","native","base","optimism","ethereum","onchain","funds"],"method":"GET","routeTemplate":"/balance","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"address":"0x8e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","chain":"base"}},"output":{"type":"json","example":{"network":"base","address":"0x8e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886","token":null,"native":true,"symbol":"ETH","decimals":18,"balanceWei":"194087918645289","balanceFormatted":"0.00019408","blockNumber":24400123,"requestedAt":"2026-08-04T23:30:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/ens","description":"ENS name resolution on Ethereum Mainnet, Base or Optimism: forward (name to address) and reverse (address to ENS name) via the ENS registry on-chain — the identity check before paying a counterparty","mimeType":"application/json","serviceName":"ENS Resolver","tags":["ens","resolve","domain","name","reverse","ethereum","onchain","identity"],"method":"GET","routeTemplate":"/ens","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"name":"vitalik.eth","address":"0x8e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886","chain":"mainnet"}},"output":{"type":"json","example":{"network":"mainnet","type":"forward","name":"vitalik.eth","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","found":true,"resolver":"0x231b0ee14048e9dccd1d247744d114a4eb5e8e63","blockNumber":25684589,"requestedAt":"2026-08-05T00:40:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/block","description":"Block data on Base, Optimism or Ethereum Mainnet: number, hash, timestamp (unix + ISO), baseFee (wei + gwei), gasUsed/gasLimit, transactionCount, proposer and size for latest, earliest or any block number — the network snapshot call (proof of time, network cost and activity) before sending anything","mimeType":"application/json","serviceName":"Block Data","tags":["block","timestamp","basefee","gas","onchain","ethereum","base","optimism"],"method":"GET","routeTemplate":"/block","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"block":"latest","chain":"base"}},"output":{"type":"json","example":{"network":"base","block":"latest","found":true,"number":24400123,"timestamp":1786123456,"timestampIso":"2026-08-05T00:44:16.000Z","baseFeePerGasWei":"10000000","baseFeeGwei":0.01,"gasUsed":8501234,"gasLimit":30000000,"transactionCount":212,"proposer":"0x0000000000000000000000000000000000000000","sizeBytes":81234,"requestedAt":"2026-08-05T00:44:16.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/allowance","description":"ERC-20 allowance on Base, Optimism or Ethereum Mainnet: how much a spender contract/address can spend from an owner wallet — token, owner, spender, allowance (wei + formatted), decimals, symbol and block number, on-chain (no explorer API)","mimeType":"application/json","serviceName":"ERC-20 Allowance","tags":["allowance","erc20","approval","spender","usdc","onchain","base","optimism","ethereum"],"method":"GET","routeTemplate":"/allowance","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","owner":"0x8e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886","spender":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","chain":"base"}},"output":{"type":"json","example":{"network":"base","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","tokenExists":true,"symbol":"USDC","decimals":6,"owner":"0x8e8d53a67b59e6f2a28e0d6d52012a2b0e3e1886","spender":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","allowanceWei":"0","allowanceFormatted":"0","blockNumber":24400123,"requestedAt":"2026-08-05T01:10:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/simulate","description":"Transaction simulation on Base, Optimism or Ethereum Mainnet: eth_call pre-flight of from/to/data/value — success flag, return data, revert reason (decoded Error(string)) and gas estimate, on-chain (no explorer API)","mimeType":"application/json","serviceName":"Transaction Simulator","tags":["simulate","preflight","eth-call","gas-estimate","revert","onchain","base","optimism","ethereum"],"method":"GET","routeTemplate":"/simulate","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"from":"0x8e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886","to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","data":"0x70a08231000000000000000000000000d8dA6BF26964aF9D7eEd9e03E53415D37aA96045","chain":"base"}},"output":{"type":"json","example":{"network":"base","from":"0x8e8d53a67b59e6f2a28e0d6d52012a2b0e3e1886","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","success":true,"returnData":"0x0000000000000000000000000000000000000000000000000000000000000000","gasEstimate":30248,"blockNumber":24400123,"requestedAt":"2026-08-05T01:30:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/swap","description":"On-chain swap quote on Base: amountOut for an amountIn of any ERC-20 pair with DEX liquidity — direct pool (Uniswap V3 best liquidity / Aerodrome V2) or WETH route, with spot price, price impact and minOut slippage guards (0.5%/1%), all computed from pool reserves (no market API)","mimeType":"application/json","serviceName":"Swap Quote","tags":["swap","quote","dex","uniswap-v3","aerodrome","slippage","onchain","base"],"method":"GET","routeTemplate":"/swap","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"in":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","out":"0x4200000000000000000000000000000000000006","amountIn":"1000000","chain":"base"}},"output":{"type":"json","example":{"network":"base","routeFound":true,"tokenIn":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6},"tokenOut":{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18},"amountIn":{"wei":"1000000","formatted":"1"},"amountOut":{"wei":"532154915082329","formatted":"0.00053215"},"executionPrice":"0.00053215","spotPrice":"0.00053375","priceImpactPct":0.3,"slippagePct":0,"feePct":0.3,"minOut":{"slippage0_5":"529494140693067","slippage1":"526833365931505"},"route":[{"kind":"uniswap-v3","fee":3000,"pool":"0x6c561b446416e1a00e8e93e221854d6ea4171372"}],"blockNumber":24400123,"requestedAt":"2026-08-05T01:50:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/multicall","description":"On-chain MultiCall batch: up to 20 read-only eth_calls (balances, allowances, any call) in one request via the canonical Multicall3 contract on Base, Optimism or Ethereum Mainnet — per-call success flag + returnData, blockNumber and gas estimate; a reverting call returns success:false without failing the batch","mimeType":"application/json","serviceName":"MultiCall Batch","tags":["multicall","batch","eth_call","multicall3","onchain","base","optimism","mainnet"],"method":"GET","routeTemplate":"/multicall","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"chain":"base","calls":[{"to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","data":"0x70a082310000000000000000000000008e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886"},{"to":"0x4200000000000000000000000000000000000006","data":"0x70a082310000000000000000000000008e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886"}]}},"output":{"type":"json","example":{"network":"base","multicall3":"0xcA11bde05977b3631167028862bE2a173976CA11","blockNumber":24400123,"callCount":2,"calls":[{"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x70a082310000000000000000000000008e8d53a67b59e6f2a28e0d6d52012a2b0e3e1886","success":true,"returnData":"0x0000000000000000000000000000000000000000000000000000000000000000"},{"to":"0x4200000000000000000000000000000000000006","data":"0x70a082310000000000000000000000008e8d53a67b59e6f2a28e0d6d52012a2b0e3e1886","success":true,"returnData":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"gasEstimate":61458,"requestedAt":"2026-08-05T02:20:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/events","description":"On-chain events (eth_getLogs): raw event logs of any contract/wallet on Base, Optimism or Ethereum Mainnet with block range filters, per-event timestamp, and best-effort decoded Transfer (from/to/value with contract decimals), Approval (owner/spender/value) and Uniswap V3 Swap (sender/recipient/amount0/amount1/tick); busy contracts auto-shrink the range to what the RPC accepts (rangeHint)","mimeType":"application/json","serviceName":"On-chain Events","tags":["events","logs","getlogs","monitoring","transfer","approval","swap","onchain","base","optimism","mainnet"],"method":"GET","routeTemplate":"/events","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","topics":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","limit":"5","chain":"base"}},"output":{"type":"json","example":{"network":"base","address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","count":5,"truncated":true,"blockRange":"5000","events":[{"blockNumber":49548044,"timestamp":1785914235,"timestampISO":"2026-08-04T23:17:15.000Z","txHash":"0xb7ddecbd…","topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae","0x0000000000000000000000001e55b1e12a40e0fe376e122327c29a982406c1b5"],"decoded":{"event":"Transfer","args":{"from":"0x1231…","to":"0x1e55…","value":"39679954","valueFormatted":"39.679954","symbol":"USDC"}}}],"requestedAt":"2026-08-05T02:20:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/history","description":"Wallet activity: ERC-20 Transfer history of any address (incoming/outgoing, any token — no token address needed) on Base, Optimism or Ethereum Mainnet with per-transfer direction, timestamp, txHash, formatted value with the token's own decimals and the native ETH balance delta over the window — the did-my-payment-land check for payouts, bounties and airdrops","mimeType":"application/json","serviceName":"Wallet Activity","tags":["history","transfers","wallet","activity","payments","incoming","outgoing","erc20","onchain","base","optimism","mainnet"],"method":"GET","routeTemplate":"/history","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","chain":"mainnet","limit":"5","direction":"both"}},"output":{"type":"json","example":{"network":"mainnet","address":"0x000000000004444c5dc75cb358380d2e3de08a90","count":5,"truncated":true,"blockRange":"1000","native":{"beforeFormatted":"41727.89762681","afterFormatted":"41928.8859153","deltaFormatted":"200.98828849","direction":"in"},"transfers":[{"direction":"in","blockNumber":25685765,"timestamp":1785914235,"timestampISO":"2026-08-04T23:17:15.000Z","txHash":"0xf2e57568318a9f30f1…","token":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","decoded":{"event":"Transfer","args":{"from":"0x278d858f…","to":"0x000000000004444c…","value":"71735844","valueFormatted":"71.735844","symbol":"USDC"}}}],"requestedAt":"2026-08-05T02:20:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/pairs","description":"DEX pair discovery: every Uniswap V2 + Uniswap V3 pool (fees 100/500/3000/10000) of any token on Base, Optimism or Ethereum Mainnet against curated base tokens (WETH/USDC/USDT/DAI + chain majors, or custom via bases=) — per-pool venue, address, fee tier, token0/token1, reserves (V2) or sqrtPriceX96 + liquidity (V3), spot price in the quote token and USD, liquidity estimate in USD — all on-chain from the DEX factories (no indexer, no market API)","mimeType":"application/json","serviceName":"DEX Pair Discovery","tags":["pairs","dex","liquidity","pools","uniswap","reserves","tokens","onchain","base","optimism","mainnet"],"method":"GET","routeTemplate":"/pairs","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"token":"0x940181a94a35a4569e4529a3cdfb74e38fd98631","chain":"base","maxPairs":"10"}},"output":{"type":"json","example":{"network":"base","token":{"address":"0x940181a94a35a4569e4529a3cdfb74e38fd98631","symbol":"AERO","decimals":18},"count":10,"truncated":true,"pairs":[{"venue":"uniswap-v3","address":"0x3d5d143381916280ff91407febeb52f2b60f33cf","feeTier":3000,"feePct":0.3,"token0":{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18},"token1":{"address":"0x940181a94a35a4569e4529a3cdfb74e38fd98631","symbol":"AERO","decimals":18},"tokenIsToken0":false,"quote":{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18},"priceInQuote":0.000221597351,"priceUsd":0.4153275295,"quotePriceUsd":1874.1,"liquidityUsd":4342823,"sqrtPriceX96":"532227488789210…","liquidity":"778276117698…"}],"requestedAt":"2026-08-05T04:00:00.000Z"}}}},{"resourceUrl":"https://x402-audit.tatschluizguilherme.workers.dev/wallet","description":"One-call wallet snapshot: native ETH + curated tokens (WETH/USDC/USDT/DAI + chain majors) or custom list, each with formatted balance, USD price (on-chain DEX pools) and value, plus total wallet value — Base/Optimism/Mainnet","mimeType":"application/json","serviceName":"Wallet Snapshot","tags":["wallet","portfolio","balance","usd","value","onchain","base","optimism","mainnet"],"method":"GET","routeTemplate":"/wallet","x402Version":2,"discoveryInfo":{"input":{"type":"http","method":"GET","queryParams":{"address":"0x8e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886","chain":"base"}},"output":{"type":"json","example":{"network":"base","address":"0x8e8d53a67b59E6f2A28e0d6d52012A2b0e3E1886","count":7,"totalUsd":0.81,"assets":[{"symbol":"ETH","native":true,"decimals":18,"balanceFormatted":"0.00009565","priceUsd":1868.33,"valueUsd":0.18},{"symbol":"USDC","balanceFormatted":"0.260384","priceUsd":0.9993,"valueUsd":0.26}]}}}}],"pagination":{"limit":50,"offset":0,"total":22}}