{"uid":"cap_FXLEdVP4PsXY_Bn_Y8EDu","slug":"b20-transfer-policy-access-type-decoder-1680c462","name":"B20 Transfer Policy Access Type Decoder","description":"🆕 A B20 transfer policy is either a BLOCKLIST (allowed unless listed) or an ALLOWLIST (allowed ONLY if listed — a permissioned/whitelist token you can't even receive uninvited). b20-safety flags that a policy exists; this decodes its TYPE per scope (send/receive/execute/mint) — the difference between 'the issuer can block bad actors' and 'this is a permissioned RWA you can't hold uninvited'.","url":"https://402.com.tr/api/x402/b20-access-type","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"},"pathParams":{"type":"object"},"queryParams":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"B20 token address"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.03","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.03/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_KKb0ccrsQsopi2aqSH25o","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.03","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Decodes whether a B20 token's transfer policy is a BLOCKLIST (allowed unless listed) or ALLOWLIST (permissioned whitelist) for each scope (send/receive/execute/mint)","exampleAgentPrompt":"Can you check the B20 transfer policy type for token address 0xabc123... on Base — specifically whether it's a blocklist or a permissioned allowlist, and which scopes (send/receive/mint) are affected?","exampleUseCases":null,"resultDescription":"Returns the decoded transfer policy type (BLOCKLIST vs ALLOWLIST) for each applicable scope (send, receive, execute, mint) of the given B20 token, clarifying whether the issuer merely blocks bad actors or whether holding/receiving the token requires explicit whitelist approval.","failureModes":["Invalid or non-B20 token address returns an error or empty policy","Token has no transfer policy set — b20-safety flag absent","Non-Base contract address provided causes lookup failure","Malformed address string causes schema validation error","Network/RPC timeout reading on-chain policy state"],"whenToPreferThis":"Use this endpoint when you already know a B20 token has a transfer policy (e.g. b20-safety flag is set) and need to determine the specific TYPE of that policy — whether it's a permissioned allowlist (RWA-style, can't receive uninvited) or a simple blocklist (open by default, bad actors blocked). Prefer over generic contract ABI readers when you need a semantic, scope-level classification of the access control model.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T19:03:41.997Z","isFirstParty":false}