Token metadata API
Hoodl serves every token’s logo and social links from a public, unauthenticated HTTP API. It exists so that terminals, scanners, wallets and aggregators can show a Hoodl token the way its creator set it up — with its image and links — instead of a blank placeholder avatar.
No API key. No rate limit. No registration. CORS is open (access-control-allow-origin: *), so you can call
it from a browser as well as a server.
Base URL: https://api.hoodl.app
Why this exists
Section titled “Why this exists”An ERC-20 has no room for a logo. name, symbol and decimals are all the chain stores — there is no
on-chain field for an image, a description or a Twitter handle, and no EVM standard that memecoin terminals
read for one. So every launchpad keeps that metadata off-chain and publishes it. This is Hoodl’s publication
of it.
Discovery still works entirely on-chain: watch TokenLaunched on the factory (below), then call this API for
the parts the chain can’t hold.
Endpoints
Section titled “Endpoints”GET /token-list.json
Section titled “GET /token-list.json”Every Hoodl launch, in the Uniswap token list schema. Also served at
/.well-known/token-list.json. Cached for 60 seconds.
{ "name": "Hoodl", "timestamp": "2026-07-12T14:22:31.000Z", "version": { "major": 1, "minor": 5, "patch": 0 }, "keywords": ["hoodl", "robinhood-chain", "launchpad"], "tokens": [ { "chainId": 4663, "address": "0x9822bc0a7109a0bc5017bca8600297eb7c9b3a63", "name": "Black Bull", "symbol": "ANSEM", "decimals": 18, "logoURI": "https://maroon-tricky-smelt-296.mypinata.cloud/ipfs/bafkrei...", "extensions": { "logoIpfs": "ipfs://bafkrei...", "twitter": "https://x.com/...", "website": "https://...", "telegram": "https://t.me/..." } } ]}GET /tokens/{address}/metadata.json
Section titled “GET /tokens/{address}/metadata.json”One token. Returns 404 for an address Hoodl didn’t launch.
{ "name": "Black Bull", "symbol": "ANSEM", "decimals": 18, "chainId": 4663, "address": "0x9822bc0a7109a0bc5017bca8600297eb7c9b3a63", "description": "...", "image": "https://maroon-tricky-smelt-296.mypinata.cloud/ipfs/bafkrei...", "imageIpfs": "ipfs://bafkrei...", "twitter": "https://x.com/...", "website": "https://...", "telegram": "https://t.me/...", "extensions": { "twitter": "...", "website": "...", "telegram": "..." }}Socials are also mirrored flat at the top level, so you can read either shape.
Logos are on IPFS
Section titled “Logos are on IPFS”Every token logo is pinned to IPFS when its creator uploads it. You get the same image two ways, and both are always present together:
| Field | Form | Use it when |
|---|---|---|
logoURI / image | https://<gateway>/ipfs/<cid> | You want a URL that just works — no IPFS client, no gateway choice |
extensions.logoIpfs / imageIpfs | ipfs://<cid> | You resolve IPFS yourself, or want to serve the CID from your own gateway |
The CID is identical in both. Because the content is on the public IPFS network, you are not dependent on
Hoodl’s gateway — https://ipfs.io/ipfs/<cid> or any other gateway serves the same bytes.
A token whose creator never uploaded a logo simply has no logo field. It is omitted, never null or a
placeholder — treat its absence as “no image, render your own fallback”.
Discovering launches on-chain
Section titled “Discovering launches on-chain”You don’t have to poll the list. Hoodl’s factory emits an event on every launch:
event TokenLaunched( address indexed token, address indexed creator, address indexed quoteToken, uint256 tokenId, address pool, bytes32 splitId, uint256 devBuyOut)| Chain | Robinhood Chain mainnet, chain ID 4663 |
HoodlLaunchFactory | 0x4e872FB872bEf35C6041855C94B63e59397DECFF |
| Deployed at block | 6960162 — no need to scan earlier |
| Pool | Uniswap V3, 1% fee tier, full range, LP locked |
Index that event for the token and pool addresses, then call /tokens/{address}/metadata.json for the logo
and socials. The contract is verified on Blockscout.
Notes for integrators
Section titled “Notes for integrators”- Cache the list. It’s cached for 60s at our edge; there’s no rate limit, but please don’t poll it every
second. For live discovery, watch
TokenLaunchedand fetch the single token. - Addresses are lowercase in responses. Lookups accept any casing.
decimalsis always 18. Every Hoodl token is a fixed-supply, 18-decimal ERC-20 with no tax, no mint function and no owner. See Contracts & security.- Nothing here is authenticated, and nothing here can move funds. It is a read-only view of data the creator chose to publish.