Skip to main content

GET /metadata

Everything known about a coin in one read: name, symbol, decimals, supply, launchpad, quote mint and the live pool address; the image, description and socials from its metadata JSON; the creator and launch time; whether it graduated and where to; what the mint account says (token program, authorities, Token-2022 extensions and any transfer fee); and for a pump.fun coin its curve with the creator fee. Pass exactly one of mint or pool (passing both is fine; pool wins). Keyless.

MethodGET
Authnone needed; your plan's key raises the limits

Example​

// Pass exactly one of `mint` or `pool`:
const params = new URLSearchParams({
mint: "26ttsGMZeMGv6rLAaYwvdtj4671wJJjc55UGNpTVLbRL",
// or: pool: "9EHowJR1dph68EGpHNA8SZbpbVYqD3kx5NLcYVWrCFUy"
});

const res = await fetch(`https://sol.shrine.trade/metadata?${params}`);
const meta = await res.json();
console.log(meta);

Response​

{
"pool": "9EHowJR1dph68EGpHNA8SZbpbVYqD3kx5NLcYVWrCFUy",
"mint": "26ttsGMZeMGv6rLAaYwvdtj4671wJJjc55UGNpTVLbRL",
"quote": "BMKdM4yUxX12moFqVk195k7coMbaybd4RUKCUdm7D1Sk",
"decimals": 6,
"program": "PUMPSWAP",
"total_supply": 1000000000,
"active": true,
"name": "Proof Of Quantum",
"symbol": "Quantum",
"uri": "https://metadata.j7tracker.io/m/Oq2myOORpA",
"image": "https://metadata.j7tracker.io/m/Oq2myOORpA-img",
"description": "",
"twitter": "https://x.com/POQuantum/status/2108240662265012379",
"telegram": "",
"website": "https://starkrdp.net/",
"metadata_fetched": true,
"creator": "9xLUBtnozQ3eosq61oSuKjKw9uLGLyybwEHZsMr2b8G",
"created_at": 1791478908,
"graduated": true,
"graduated_pool": "9EHowJR1dph68EGpHNA8SZbpbVYqD3kx5NLcYVWrCFUy",
"graduated_at": 1791479381,
"token_program": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
"mint_authority": null,
"freeze_authority": null,
"token_extensions": ["metadataPointer", "tokenMetadata"],
"transfer_fee_bps": null,
"transfer_fee_max": null,
"pumpfun": {
"bonding_curve": "4FjdFepnY4DdqnUxLNkKrKEYEHhB6jSehKcXv9gBasNm",
"creator": "9xLUBtnozQ3eosq61oSuKjKw9uLGLyybwEHZsMr2b8G",
"quote_mint": "BMKdM4yUxX12moFqVk195k7coMbaybd4RUKCUdm7D1Sk",
"creator_fee_bps": 0,
"mayhem_mode": false,
"holder_reward": false,
"cashback": false,
"complete": true,
"virtual_token_reserves": 0,
"virtual_sol_reserves": 0,
"real_token_reserves": 0,
"real_sol_reserves": 0
}
}
FieldNotes
image, description, twitter, telegram, websiteFrom the coin's metadata JSON behind uri, fetched once in the background right after the launch. metadata_fetched is false while that is still on its way (ask again a moment later); empty strings mean the JSON has no value.
creator, created_atThe launching wallet and the launch time (unix seconds).
graduated, graduated_pool, graduated_atWhether the coin left its curve, where it trades now and when.
token_program, mint_authority, freeze_authority, token_extensionsRead from the mint account. Both authorities should be null on an honest coin; token_extensions lists the Token-2022 extensions the mint carries.
transfer_fee_bps, transfer_fee_maxThe tax: a Token-2022 transfer fee in basis points and its cap in raw units, null when the mint has none.
pumpfunOnly for pump.fun coins: the bonding curve, the creator fee in basis points, mayhem mode, holder rewards, cashback, whether the curve completed, and its reserves while it is live. null for other launchpads.

Try it​

Notes​

  • program is one of PUMPFUN, PUMPSWAP, METEORA, RAYDIUM, ORCA - useful for routing UI logic per DEX.
  • active: false means the pool has been superseded (e.g. PumpFun bonding curve migrated to PumpSwap). Use mint lookup to find the current active one.
  • /lookup is an alias for the same handler - same params, same cost.

LimitsFree 1 req/sLite 5 req/sDeveloper 20 req/sSee plans →