{"openapi":"3.1.0","info":{"title":"Web3 Tools","version":"1.0.0","description":"Check and decode crypto addresses, hashes, selectors and units without a node. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Web3 Tools: Check and decode crypto addresses, hashes, selectors and units without a node. Web3 Tools: /evm-address (EIP-55 checksum), /btc-address (legacy, P2SH, bech32, bech32m), /solana-address, /keccak256, /function-selector, /ens-namehash, /unit-convert (wei, gwei, ether, token decimals), /caip-parse (chain ids), /hex-tools, /tx-hash-check Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://web3-tools.x402tookit.com"}],"paths":{"/btc-address":{"get":{"operationId":"btc_address","summary":"Validate a Bitcoin address (legacy, P2SH, SegWit bech32, Taproot bech32m): checksum, type, network and hash payload.","description":"Validate a Bitcoin address (legacy, P2SH, SegWit bech32, Taproot bech32m): checksum, type, network and hash payload.","tags":["bitcoin","address","bech32","base58check","taproot"],"parameters":[{"name":"address","in":"query","required":true,"description":"A Bitcoin address, for example 1A1zP1... or bc1q...","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"input":{"type":["null","string"]},"type":{"type":["null","string"]},"network":{"type":["null","string"]},"encoding":{"type":["null","string"]},"witnessVersion":{"type":["null","number"]},"programHex":{"type":["null","string"]},"programBytes":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID","summary":"P2WPKH address on mainnet (bech32, witness v0, 20-byte program).","reasons":["Checksum and structure are valid under BIP-173 / BIP-350."],"input":"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4","type":"P2WPKH","network":"mainnet","encoding":"bech32","witnessVersion":0,"programHex":"0x751e76e8199196d454941c45d1b3a323f1433bd6","programBytes":20,"degraded":false,"notChecked":["whether the address has been used or holds funds","who controls it","…2 more"],"source":"computed locally","asOf":"2026-10-11T14:21:53.444Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/btc-address"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/btc-address"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/btc-address"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/btc-address"}}]}}},"/caip-parse":{"get":{"operationId":"caip_parse","summary":"Parse CAIP-2 chain ids, CAIP-10 account ids and CAIP-19 asset ids: namespace, reference, known chain name, address check.","description":"Parse CAIP-2 chain ids, CAIP-10 account ids and CAIP-19 asset ids: namespace, reference, known chain name, address check.","tags":["caip","chain-id","wallet","multichain"],"parameters":[{"name":"id","in":"query","required":true,"description":"eip155:8453, eip155:1:0xAbc..., or eip155:1/erc20:0xA0b8...","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"kind":{"type":["null","string"]},"chainId":{"type":["null","string"]},"namespace":{"type":["null","string"]},"reference":{"type":["null","string"]},"chainName":{"type":["null","string"]},"numericChainId":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_CAIP2","summary":"Chain id eip155:8453 is Base.","reasons":["Format matches CAIP-2."],"kind":"CAIP-2 chain","chainId":"eip155:8453","namespace":"eip155","reference":"8453","chainName":"Base","numericChainId":8453,"degraded":false,"notChecked":["that the chain is live, funded or supported by any facilitator or wallet","that the chain-name table is complete: unknown chains are reported as unknown, not invalid","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:21:53.706Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/caip-parse"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/caip-parse"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/caip-parse"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/caip-parse"}}]}}},"/calldata-split":{"get":{"operationId":"calldata_split","summary":"Split EVM calldata into its 4-byte selector and 32-byte words, naming common ERC-20/721 calls and spotting addresses.","description":"Split EVM calldata into its 4-byte selector and 32-byte words, naming common ERC-20/721 calls and spotting addresses.","tags":["calldata","abi","evm","transaction","decode"],"parameters":[{"name":"data","in":"query","required":true,"description":"Calldata hex, with or without 0x","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"selector":{"type":["null","string"]},"knownSignature":{"type":["null","string"]},"totalBytes":{"type":["null","number"]},"argumentBytes":{"type":["null","number"]},"wordCount":{"type":["null","number"]},"trailingBytes":{"type":["null","number"]},"words":{"type":["array","null"],"items":{"type":"object","properties":{"index":{"type":["null","number"]},"hex":{"type":["null","string"]},"asUint256":{"type":["null","string"]},"looksLikeAddress":{"type":["boolean","null"]},"address":{"type":["null","string"]},"isMaxUint256":{"type":["boolean","null"]}}}},"wordsTruncated":{"type":["boolean","null"]},"unlimitedApprovalSuspected":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SPLIT","summary":"Selector 0xa9059cbb = transfer(address,uint256); 2 full 32-byte words.","reasons":["Argument bytes are a whole number of 32-byte words, as ABI encoding requires."],"selector":"0xa9059cbb","knownSignature":"transfer(address,uint256)","totalBytes":68,"argumentBytes":64,"wordCount":2,"trailingBytes":0,"words":[{"index":0,"hex":"0x000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9b","asUint256":"978200031609045874420567273872976536139233684635","looksLikeAddress":true,"address":"0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B","isMaxUint256":false},{"index":1,"hex":"0x0000000000000000000000000000000000000000000000000de0b6b3a7640000","asUint256":"1000000000000000000","looksLikeAddress":false,"address":null,"isMaxUint256":false}],"wordsTruncated":false,"unlimitedApprovalSuspected":false,"degraded":false,"notChecked":["the real argument types: words are interpreted by shape only (a number that looks like an address may not be one)","dynamic types (bytes, string, arrays) appear as offsets and lengths in the words, not decoded values","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:21:53.970Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/calldata-split"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/calldata-split"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/calldata-split"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/calldata-split"}}]}}},"/contract-address":{"get":{"operationId":"contract_address","summary":"Predict a contract address: CREATE from deployer and nonce, or CREATE2 from deployer, salt and init code (or its hash).","description":"Predict a contract address: CREATE from deployer and nonce, or CREATE2 from deployer, salt and init code (or its hash).","tags":["create2","create","contract","deployment","evm"],"parameters":[{"name":"deployer","in":"query","required":true,"description":"Deploying address (0x + 40 hex)","schema":{"type":"string"}},{"name":"nonce","in":"query","required":false,"description":"Deployer nonce for CREATE (whole number)","schema":{"type":"string"}},{"name":"salt","in":"query","required":false,"description":"32-byte hex salt for CREATE2","schema":{"type":"string"}},{"name":"initCode","in":"query","required":false,"description":"Init code hex for CREATE2 (or give initCodeHash)","schema":{"type":"string"}},{"name":"initCodeHash","in":"query","required":false,"description":"keccak256 of the init code (32-byte hex)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"mode":{"type":["null","string"]},"address":{"type":["null","string"]},"deployer":{"type":["null","string"]},"nonce":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"CREATE address: 0xcd234A471b72ba2F1Ccf0A70FCABA648a5eeCD8d.","reasons":["keccak256(rlp([deployer, nonce])), last 20 bytes.","Same on every EVM chain for the same inputs."],"mode":"CREATE","address":"0xcd234A471b72ba2F1Ccf0A70FCABA648a5eeCD8d","deployer":"0x6AC7EA33F8831EA9dcC53393aAA88B25A785DBF0","nonce":"0","degraded":false,"notChecked":["that the deployment happened or will succeed","that the nonce is the real next nonce of the deployer (contract-account nonces start at 1, wallets at their transaction count)","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:21:54.234Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/contract-address"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/contract-address"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/contract-address"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/contract-address"}}]}}},"/ens-namehash":{"get":{"operationId":"ens_namehash","summary":"Compute the ENS namehash (EIP-137) and label hashes for a name such as vitalik.eth, for contract calls and subgraph queries.","description":"Compute the ENS namehash (EIP-137) and label hashes for a name such as vitalik.eth, for contract calls and subgraph queries.","tags":["ens","namehash","eip-137","ethereum"],"parameters":[{"name":"name","in":"query","required":true,"description":"An ENS name in lowercase ASCII, for example foo.eth","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"name":{"type":["null","string"]},"namehash":{"type":["null","string"]},"labelCount":{"type":["null","number"]},"labelhashOfFirstLabel":{"type":["null","string"]},"steps":{"type":["array","null"],"items":{"type":"object","properties":{"label":{"type":["null","string"]},"labelhash":{"type":["null","string"]},"node":{"type":["null","string"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Namehash of \"foo.eth\": 0xde9b09fd7c5f901e23a3f19fecc54828e9c848539801e86591bd9801b019f84f.","reasons":["Computed by the recursive EIP-137 definition: node = keccak256(parentNode ++ keccak256(label)).","No ENS normalisation applied (see notChecked)."],"name":"foo.eth","namehash":"0xde9b09fd7c5f901e23a3f19fecc54828e9c848539801e86591bd9801b019f84f","labelCount":2,"labelhashOfFirstLabel":"0x41b1a0649752af1b28b3dc29a1556eee781e4a4c3a1f7f53f90fa834de098c4d","steps":[{"label":"foo","labelhash":"0x41b1a0649752af1b28b3dc29a1556eee781e4a4c3a1f7f53f90fa834de098c4d","node":"0xde9b09fd7c5f901e23a3f19fecc54828e9c848539801e86591bd9801b019f84f"},{"label":"eth","labelhash":"0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0","node":"0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae"}],"degraded":false,"notChecked":["ENS normalisation (ENSIP-15): emoji, Unicode, case-folding and homoglyph checks are NOT applied","whether the name is registered, expired or resolves to anything","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:21:54.492Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/ens-namehash"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/ens-namehash"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/ens-namehash"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/ens-namehash"}}]}}},"/evm-address":{"get":{"operationId":"evm_address","summary":"Check an EVM address (Ethereum, Base, Polygon...) against its EIP-55 checksum and return the correctly checksummed form.","description":"Check an EVM address (Ethereum, Base, Polygon...) against its EIP-55 checksum and return the correctly checksummed form.","tags":["evm","ethereum","address","eip-55","checksum"],"parameters":[{"name":"address","in":"query","required":true,"description":"0x followed by 40 hex characters","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"input":{"type":["null","string"]},"checksummed":{"type":["null","string"]},"lowercase":{"type":["null","string"]},"form":{"type":["null","string"]},"checksumVerified":{"type":["boolean","null"]},"isZeroAddress":{"type":["boolean","null"]},"knownSpecial":{},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_CHECKSUM","summary":"Checksum matches: 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed.","reasons":["The capitalisation pattern equals the one derived from the Keccak-256 hash of the address."],"input":"0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed","checksummed":"0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed","lowercase":"0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed","form":"mixed-case","checksumVerified":true,"isZeroAddress":false,"knownSpecial":null,"degraded":false,"notChecked":["whether the address has ever been used, holds funds, or is a contract or a wallet","who controls it","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:21:54.753Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/evm-address"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/evm-address"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/evm-address"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/evm-address"}}]}}},"/function-selector":{"get":{"operationId":"function_selector","summary":"Compute the 4-byte function selector and event topic0 from a Solidity signature such as transfer(address,uint256).","description":"Compute the 4-byte function selector and event topic0 from a Solidity signature such as transfer(address,uint256).","tags":["solidity","abi","selector","event-topic","ethereum"],"parameters":[{"name":"signature","in":"query","required":true,"description":"Canonical signature: name(type,type), no spaces or parameter names","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"signature":{"type":["null","string"]},"name":{"type":["null","string"]},"selector":{"type":["null","string"]},"topic0":{"type":["null","string"]},"warnings":{"type":["array","null"]},"paramList":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Selector 0xa9059cbb; as an event topic0 the full hash is 0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b.","reasons":["Signature is in canonical form (no spaces, no parameter names)."],"signature":"transfer(address,uint256)","name":"transfer","selector":"0xa9059cbb","topic0":"0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","warnings":[],"paramList":"address,uint256","degraded":false,"notChecked":["that the function exists on any given contract","selector collisions: only four bytes, so different signatures can share one (rare but real)","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:21:55.018Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/function-selector"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/function-selector"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/function-selector"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/function-selector"}}]}}},"/hex-convert":{"get":{"operationId":"hex_convert","summary":"Convert hex to UTF-8 text or an integer (signed or unsigned), and text or integers to hex with 32-byte padding.","description":"Convert hex to UTF-8 text or an integer (signed or unsigned), and text or integers to hex with 32-byte padding.","tags":["hex","utf8","integer","bytes32","abi"],"parameters":[{"name":"op","in":"query","required":true,"description":"hex-to-text, text-to-hex, hex-to-int or int-to-hex","schema":{"type":"string"}},{"name":"value","in":"query","required":true,"description":"The hex, text or decimal integer to convert","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"bytes":{"type":["null","number"]},"unsigned":{"type":["null","string"]},"signed":{"type":["null","string"]},"signedDiffers":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONVERTED","summary":"Unsigned 1000000000000000000.","reasons":["Big-endian, as the EVM reads it.","Read as 64 bits; pass the full 32 bytes to read a uint256 or int256."],"bytes":8,"unsigned":"1000000000000000000","signed":"1000000000000000000","signedDiffers":false,"degraded":false,"notChecked":["which ABI type the bytes really are: an integer and a string can have identical bytes","text is read as UTF-8 only; invalid sequences are reported, not repaired"],"source":"computed locally","asOf":"2026-10-11T14:21:55.282Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/hex-convert"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/hex-convert"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/hex-convert"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/hex-convert"}}]}}},"/keccak256":{"get":{"operationId":"keccak256","summary":"Keccak-256 hash (the Ethereum one) of text or hex bytes, with the first-4-byte selector and NIST SHA3-256 for contrast.","description":"Keccak-256 hash (the Ethereum one) of text or hex bytes, with the first-4-byte selector and NIST SHA3-256 for contrast.","tags":["keccak","hash","ethereum","sha3"],"parameters":[{"name":"input","in":"query","required":true,"description":"The text, or hex bytes if encoding is hex","schema":{"type":"string"}},{"name":"encoding","in":"query","required":false,"description":"utf8 (default) or hex","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"keccak256":{"type":["null","string"]},"first4Bytes":{"type":["null","string"]},"sha3_256":{"type":["null","string"]},"inputBytes":{"type":["null","number"]},"encoding":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Keccak-256 of 25 UTF-8 bytes: 0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b.","reasons":["Original Keccak padding (0x01), the variant Ethereum uses for addresses, selectors, event topics and storage slots.","First four bytes (function selector if the input is a signature): 0xa9059cbb."],"keccak256":"0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","first4Bytes":"0xa9059cbb","sha3_256":"0x4b40e901eada9ab2d6dfa2a4e5f5088af21b56bb877126cc83f68849c4aa9609","inputBytes":25,"encoding":"utf8","degraded":false,"notChecked":["that this is the hash a particular contract expects: ABI encoding and domain separators are your responsibility","NIST SHA3-256 differs from Keccak-256 only in padding, so the two never match; Ethereum uses Keccak"],"source":"computed locally","asOf":"2026-10-11T14:21:55.546Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/keccak256"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/keccak256"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/keccak256"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/keccak256"}}]}}},"/solana-address":{"get":{"operationId":"solana_address","summary":"Validate a Solana address: base58, 32 bytes, and whether it is on the ed25519 curve (wallet) or off it (program-derived).","description":"Validate a Solana address: base58, 32 bytes, and whether it is on the ed25519 curve (wallet) or off it (program-derived).","tags":["solana","address","base58","ed25519","pda"],"parameters":[{"name":"address","in":"query","required":true,"description":"A Solana public key in base58 (32 to 44 characters)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"input":{"type":["null","string"]},"bytes":{"type":["null","number"]},"hex":{"type":["null","string"]},"onCurve":{"type":["boolean","null"]},"knownAccount":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_ON_CURVE","summary":"Valid 32-byte address on the ed25519 curve (a normal wallet key can exist for it); it is the USDC mint (mainnet).","reasons":["Most user wallets, mints and programs are on-curve keys.","Associated token accounts are off-curve by construction; paying SOL to one is usually a mistake."],"input":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","bytes":32,"hex":"0xc6fa7af3bedbad3a3d65f36aabc97431b1bbe4c2d2f6e0e47ca60203452f5d61","onCurve":true,"knownAccount":"USDC mint (mainnet)","degraded":false,"notChecked":["whether the account exists on chain or holds SOL or tokens","which program owns it","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:21:55.809Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/solana-address"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/solana-address"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/solana-address"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/solana-address"}}]}}},"/tx-hash-check":{"get":{"operationId":"tx_hash_check","summary":"Recognise what a transaction id looks like (EVM hash, Bitcoin txid, Solana signature) from format alone, and flag typos.","description":"Recognise what a transaction id looks like (EVM hash, Bitcoin txid, Solana signature) from format alone, and flag typos.","tags":["transaction","txid","hash","signature","format"],"parameters":[{"name":"id","in":"query","required":true,"description":"A transaction hash, txid or signature","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"input":{"type":["null","string"]},"normalised":{"type":["null","string"]},"family":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"EVM_32_BYTE_HASH","summary":"Looks like an EVM transaction hash (0x plus 64 hex digits). The same shape is also used for block hashes.","reasons":["Format only: pick the chain explorer yourself."],"input":"0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b","normalised":"0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b","family":"evm","degraded":false,"notChecked":["whether the transaction exists, confirmed or failed: this reads the format only","which EVM chain it belongs to (the same 32-byte shape is used by every EVM chain and by block hashes)","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:21:56.059Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/tx-hash-check"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/tx-hash-check"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/tx-hash-check"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/tx-hash-check"}}]}}},"/unit-convert":{"get":{"operationId":"unit_convert","summary":"Exact unit conversion for crypto amounts: wei, gwei, ether, lamports, SOL, satoshis, BTC or a token with N decimals.","description":"Exact unit conversion for crypto amounts: wei, gwei, ether, lamports, SOL, satoshis, BTC or a token with N decimals.","tags":["wei","gwei","lamports","satoshi","decimals"],"parameters":[{"name":"amount","in":"query","required":true,"description":"Plain decimal amount, for example 1.5 or 21000","schema":{"type":"string"}},{"name":"unit","in":"query","required":true,"description":"wei, kwei, mwei, gwei, szabo, finney, ether, lamport, sol, satoshi, btc or token","schema":{"type":"string"}},{"name":"decimals","in":"query","required":false,"description":"Token decimals 0 to 36, required when unit is token (USDC is 6)","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"input":{"type":["null","object"],"properties":{"amount":{"type":["null","string"]},"unit":{"type":["null","string"]},"decimals":{"type":["null","number"]}}},"rawSmallestUnit":{"type":["null","string"]},"rawHex":{"type":["null","string"]},"abiUint256":{"type":["null","string"]},"conversions":{"type":["null","object"],"properties":{"wei":{"type":["null","string"]},"kwei":{"type":["null","string"]},"mwei":{"type":["null","string"]},"gwei":{"type":["null","string"]},"szabo":{"type":["null","string"]},"finney":{"type":["null","string"]},"ether":{"type":["null","string"]}}},"exceedsUint256":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONVERTED","summary":"1.5 ether = 1500000000000000000 wei = 1500000000 gwei = 1.5 ether.","reasons":["Exact integer arithmetic (BigInt), no floating point.","ABI uint256 encoding of the raw amount: 0x00000000000000000000000000000000000000000000000014d1120d7b160000."],"input":{"amount":"1.5","unit":"ether","decimals":18},"rawSmallestUnit":"1500000000000000000","rawHex":"0x14d1120d7b160000","abiUint256":"0x00000000000000000000000000000000000000000000000014d1120d7b160000","conversions":{"wei":"1500000000000000000","kwei":"1500000000000000","mwei":"1500000000000","gwei":"1500000000","szabo":"1500000","finney":"1500","ether":"1.5"},"exceedsUint256":false,"degraded":false,"notChecked":["prices: this converts units of the same asset, not between assets","rounding never happens: an amount with more decimal places than the unit allows is refused, not rounded"],"source":"computed locally","asOf":"2026-10-11T14:21:56.323Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/unit-convert"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/unit-convert"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/unit-convert"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://web3-tools.x402tookit.com/unit-convert"}}]}}}}}