# B20 Transfer Policy Access Type Decoder

> B20 Transfer Policy Access Type Decoder is a paid API for AI agents from 402.com.tr, paid per call via x402, $0.03/call, status unknown (last checked 2026-09-14).

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)

## Facts

- Endpoint: GET https://402.com.tr/api/x402/b20-access-type
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/b20-transfer-policy-access-type-decoder-1680c462
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FXLEdVP4PsXY_Bn_Y8EDu

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability b20-transfer-policy-access-type-decoder-1680c462
```

Example prompt: 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?

## When to prefer this

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.

## Known failure modes

- 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

## How this service works

🆕 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'.

## Output

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.

## Request schema (JSON Schema)

```json
{
 "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"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/b20-transfer-policy-access-type-decoder-1680c462/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 402.com.tr](https://www.zero.xyz/host/402.com.tr/llms.txt)
