The ledger, machine-readable.
Plain JSON over HTTPS. No key needed while in beta. CORS is open, responses are cached for 15 seconds. An MCP server for AI agents is included.
Conventions
Amounts are USD floats, timestamps unix seconds, addresses base58. Only Token-2022 mints with market activity are tracked; controls are read from the chain, market figures come from Jupiter.
The control score (0–100) measures what the issuer can do to holders, not intent. Power keys: hook, hookSwitch, delegate, pause, freeze, defaultFrozen, mint, fee, feeSwitch, scale, close, confidential, soulbound, interest.
MCP for AI agents
The same data as a Model Context Protocol server (Streamable HTTP). Tools: get_stats, list_tokens, get_token, list_hooks, get_hook, list_controllers, get_controller, recent_changes, search.
POST/api/mcp
$ claude mcp add --transport http barb https://barb.xyz/api/mcp
Overview
Headline numbers for traded Token-2022 tokens.
GET/api/v1/stats
$ curl https://barb.xyz/api/v1/stats
{ "tokens": 2472, "volume_24h_usd": 636600000, "hooks_active": 4,
"hooks_switchable": 1832, "permanent_delegates": 20, "controlled_volume_share_pct": 41.2 }List tokens
Token-2022 tokens with their issuer powers and control score.
GET/api/v1/tokens
| power | hook · hookSwitch · delegate · pause · freeze · defaultFrozen · mint · fee · feeSwitch · scale · close · confidential · soulbound · interest |
| hook | active · switchable · locked · none |
| score | Low · Moderate · High · Critical |
| sort | vol (default) · liq · mcap · holders · score · new · change |
| verified | true for Jupiter-verified tokens only |
| min_volume | Minimum 24h volume in USD |
| limit / offset | Pagination, limit ≤ 200 |
$ curl https://barb.xyz/api/v1/tokens
{ "total": 2472, "data": [{ "mint": "2b1kV6…4GXo", "symbol": "PYUSD",
"control_score": 70, "control_label": "Critical", "hook_state": "switchable",
"powers": [{ "power": "delegate", "holder": "…" }, { "power": "pause", "holder": "…" }],
"volume_24h_usd": 41200000 }] }Token profile
Every power and holder, extensions, hook program details, control-change history, markets and hourly history ([time, price, volume24h, liquidity, holders]).
GET/api/v1/tokens/{mint}
$ curl https://barb.xyz/api/v1/tokens/<mint>
{ "mint": "…", "extensions": ["permanentDelegate", "transferHook", …],
"hook": { "program": "…", "upgradeable": true, "verified_build": false, "executions_24h": 12000 },
"events": [{ "ts": 1791380000, "kind": "hook_activated", "detail": "…" }] }Transfer hooks
Active hook programs, and tokens whose empty hook slot an authority can fill.
GET/api/v1/hooks
$ curl https://barb.xyz/api/v1/hooks
{ "active": [{ "program": "…", "tokens": 2, "executions_24h": 24000, "upgradeable": true }],
"switchable": [{ "hook_authority": "…", "tokens": 1700, "launchpad": "pump.fun" }] }Hook program
One hook program, hourly executions and the tokens using it.
GET/api/v1/hooks/{program}
$ curl https://barb.xyz/api/v1/hooks/<program>
{ "program": "…", "executions_hourly": [[1791378000, 1043], …], "tokens": [ … ] }Controllers
Addresses holding powers, ranked by the 24h volume they can affect.
GET/api/v1/controllers
| power | Only holders of this power |
| limit | ≤ 200 |
$ curl https://barb.xyz/api/v1/controllers
{ "data": [{ "address": "…", "tokens": 31, "powers": ["delegate", "pause", "mint"], "volume_24h_usd": 52000000 }] }Controller
Every token an address has power over, and which powers.
GET/api/v1/controllers/{address}
$ curl https://barb.xyz/api/v1/controllers/<address>
{ "address": "…", "powers": [{ "power": "hookSwitch", "tokens": 1700 }], "tokens": [ … ] }Control changes
Hooks switched on, tokens paused, authorities transferred or renounced, fees changed.
GET/api/v1/events
| limit / offset | Pagination |
$ curl https://barb.xyz/api/v1/events
{ "data": [{ "mint": "…", "symbol": "XYZ", "ts": 1791380000, "kind": "paused", "detail": "" }] }