{"uid":"cap_HJkbdG8B9J_LOeexp46Ni","slug":"b20-token-memo-decoder-5d5ad96f","name":"B20 Token Memo Decoder","description":"Payment memos attached to B20 transfers: pairs each Memo(address,bytes32) log with its Transfer at the previous log index (same tx, same token). Give a tx hash for one transaction, or scan a block window. Returns memoHex always and memoText when printable UTF-8. ?token=0xb200…&tx=0x…|&blocks=50000&address=0x…&limit=50","url":"https://agent402.tools/api/b20-memos","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["token"],"properties":{"tx":{"type":"string","description":"optional: decode memos in this transaction only"},"limit":{"type":"number","description":"max memo rows (default 50, max 200)"},"token":{"type":"string","description":"B20 token address (must carry the 0xb200 prefix)"},"blocks":{"type":"number","description":"window-scan lookback (default 50000, max 200000; ignored when tx is given)"},"address":{"type":"string","description":"optional: only transfers where from or to equals this address"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["token","mode","fromBlock","toBlock","scannedFromBlock","truncated","count","memos"],"properties":{"mode":{"type":"string"},"count":{"type":"integer"},"memos":{"type":"array"},"token":{"type":"string"},"toBlock":{"type":"integer"},"fromBlock":{"type":"integer"},"truncated":{"type":"boolean"},"scannedFromBlock":{"type":"integer"}}}}}}},"responseSchema":{"type":"json","example":{"mode":"window","count":0,"memos":[],"token":"0xb200…0001","toBlock":2,"fromBlock":1,"truncated":false,"scannedFromBlock":1}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_X8CHbZ0GXxNSsB50QVDUT","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches and decodes payment memos attached to B20 token transfers, pairing each Memo log with its corresponding Transfer log by transaction hash or block window scan.","exampleAgentPrompt":"Show me all the payment memos from this B20 transfer transaction — the token address is 0xb200abc123... and the tx hash is 0xdeadbeef... — decode both the hex and the human-readable memo text.","exampleUseCases":null,"resultDescription":"Returns a list of memo records, each containing memoHex (always present), memoText (when parseable as UTF-8), paired Transfer log details (from/to addresses, amount), and the transaction hash — up to the specified limit (default 50).","failureModes":["Missing or invalid token address (must have 0xb200 prefix) — returns 400 error","Invalid transaction hash format — returns 400 or empty results","Transaction hash not found on-chain — returns empty memo list","Block window exceeds 200000 blocks — returns 400 error","No Memo logs found in the specified tx or block range — returns empty array","Token address does not match B20 contract format — returns error or empty results"],"whenToPreferThis":"Use this endpoint when you need to read structured memo data attached to B20 token transfers on-chain, either for a specific transaction or across a recent block window. It is the right choice when you want to decode both raw hex memos and human-readable text from B20 Memo logs paired with their Transfer events. Prefer this over generic blockchain explorers when you specifically need the memo-transfer pairing logic already handled.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:57:38.639Z","isFirstParty":false}