{"service":"evm-canon","promise":"deterministic core, honest nulls, typed errors","payment":"x402 per call; GET any path for its contract, free","services":[{"path":"/checksum","price":"$0.001","does":"EIP-55 address normalization, batched"},{"path":"/canonicalize","price":"$0.01","does":"messy token/value data into schema-validated JSON"},{"path":"/decode","price":"$0.01","does":"calldata into typed args with risk flags"},{"path":"/encode","price":"$0.01","does":"named function and human args into unsigned calldata"},{"path":"/resolve","price":"$0.01","does":"ENS forward and verified reverse resolution"},{"path":"/lots","price":"$0.05","does":"FIFO/LIFO/HIFO/ACB cost basis and realized gains"},{"path":"/encode/transfer","price":"$0.01","does":"Build ERC-20 transfer calldata from a human amount"},{"path":"/encode/approve","price":"$0.01","does":"Build ERC-20 approval calldata"},{"path":"/encode/transfer-from","price":"$0.01","does":"Build delegated ERC-20 transferFrom calldata"},{"path":"/encode/nft-transfer","price":"$0.01","does":"Build ERC-721 safe transfer calldata"},{"path":"/encode/approve-all","price":"$0.01","does":"Build collection-wide NFT approval calldata"},{"path":"/encode/wrap","price":"$0.01","does":"Build native-token wrapping calldata (WETH-style deposit) with the value to attach"},{"path":"/encode/unwrap","price":"$0.01","does":"Build unwrapping calldata (WETH-style withdraw)"},{"path":"/encode/swap","price":"$0.01","does":"Build Uniswap-V2-style exact-input swap calldata with the token path"},{"path":"/encode/permit","price":"$0.01","does":"Build EIP-2612 permit calldata for signature-based allowances"},{"path":"/lots/fifo","price":"$0.05","does":"FIFO cost-basis matching"},{"path":"/lots/lifo","price":"$0.05","does":"LIFO cost-basis matching"},{"path":"/lots/hifo","price":"$0.05","does":"HIFO cost-basis matching"},{"path":"/lots/acb","price":"$0.05","does":"Average cost basis"},{"path":"/lots/holding-period","price":"$0.04","does":"Each disposal split into short- and long-term portions by how long the consumed lots were held"},{"path":"/lots/gains","price":"$0.03","does":"Realized gain/loss summary per disposal plus totals, without lot-level detail"},{"path":"/lots/inventory","price":"$0.03","does":"Remaining holdings after all trades, each lot with its acquisition time and unit cost"},{"path":"/lots/validate","price":"$0.02","does":"Every problem in a trade ledger reported at once"},{"path":"/lots/balances","price":"$0.001","does":"Net position per asset straight from the trades, with no cost-basis matching — works on ledgers too broken to match"}],"registry_version":"tokenlists@2026-07-01"}