Skip to main content

Token Info

Free, keyless reads. Use them to decide what to trade and to size a buy before you call local-trade. Amounts are raw base-unit strings (wei for BNB, 18-decimal units for tokens); fields ending in Formatted are the human-readable decimal.

Token

GET https://api.shrine.trade/bnb/api/token/{address}
GET https://api.shrine.trade/bnb/api/token/{address}?wallet=0x…
const TOKEN = "0x2f1952E00F6BA7655993120B8c41E5ab511e7777";

async function main() {
const res = await fetch(`https://api.shrine.trade/bnb/api/token/${TOKEN}`);
const t = await res.json();
if (t.error) throw new Error(`${t.error}: ${t.message}`);

console.log(t.symbol, t.status, "| venue:", t.venue, "| progress:", t.progressPct.toFixed(1) + "%");
console.log("priced in", t.quoteAsset.symbol, "| tax:", t.buyTaxBps, "/", t.sellTaxBps, "bps");
if (t.tax) console.log("creator has earned", t.tax.totalPaidToBeneficiary, t.quoteAsset.symbol);
}

main();

Save it as token.js and run node token.js - no packages needed.

Add ?wallet=0x… to get buyQuotaRemaining for that wallet. A real response:

{
"protocol": "FLAP",
"token": "0x2f1952E00F6BA7655993120B8c41E5ab511e7777",
"name": "星际巨舰",
"symbol": "星际巨舰",
"tokenType": "tax_v3",
"isTaxToken": true,
"status": "Tradable",
"graduated": false,
"venue": "flap_curve",
"quoteAsset": {
"address": "0x0000000000000000000000000000000000000000",
"symbol": "BNB",
"decimals": 18,
"isNative": true
},
"pairToken": "BNB",
"bnbBuysAccepted": true,
"quoteReserve": "7232115677198697",
"quoteReserveFormatted": "0.007232115677198697",
"circulatingSupply": "1058452331420000000000000",
"circulatingSupplyFormatted": "1058452.33142",
"graduationSupply": "800000000000000000000000000",
"graduationSupplyFormatted": "800000000",
"progressPct": 0.13,
"price": "5556337995",
"curveFeeBps": 125,
"shrineFeeBps": 50,
"buyTaxBps": 1000,
"sellTaxBps": 1000,
"tax": {
"buyTaxBps": 1000,
"sellTaxBps": 1000,
"beneficiary": "0xF31b8fcD326e0aD7837af0aefed60cC71Db82595",
"beneficiaryIsVault": false,
"marketingBps": 10000,
"deflationBps": 0,
"dividendBps": 0,
"lpBps": 0,
"totalPaidToBeneficiary": "0.027083340900000001",
"pendingForBeneficiary": "0",
"taxProcessor": "0xaa0093AC156cDd7FE16af7C0a8cEAF3C4b38F38e"
},
"curve": {
"r": "6140000000000000000",
"h": "107036752000000000000000000",
"k": "6797205657280000000000000000"
}
}
FieldMeaning
tokenType / isTaxTokenstandard or tax_v3 (older launches: tax_v1, tax_v2, legacy). A tax token charges buyTaxBps / sellTaxBps on every trade and pays it to tax.beneficiary.
status / graduated / venueFlap's Tradable while on the curve, DEX once graduated. venue is where a trade goes right now: flap_curve or pancakeswap.
quoteAsset / pairTokenWhat the token is priced in: BNB, or an ERC-20 (USD1, a tokenised stock like NVDAB or TSLAB, another Flap token). decimals is not always 18 - XAUT has 6. The full list is in Supported quote assets.
bnbBuysAcceptedtrue when a BNB buy works for this token - always for BNB-priced tokens, and for ERC-20-priced ones where Flap swaps BNB in on the way. If false, hold the quote asset and use payWithQuote.
quoteReserve / circulatingSupplyHow much quote the curve holds and how many tokens it has sold.
graduationSupply / progressPctThe curve graduates to PancakeSwap once circulatingSupply reaches graduationSupply (800M on BNB Chain). progressPct is how far along it is; 100 once graduated.
priceQuote per token, 18-decimal fixed point, as Flap's Portal reports it.
curveFeeBps / shrineFeeBpsFlap's fee on curve trades (0 after graduation) and ours (0.5%).
poolThe PancakeSwap pool, once graduated.
maxBuyPerWallet / buyQuotaRemainingPresent when the token caps curve buys per wallet. buyQuotaRemaining needs ?wallet=. A buy past the cap is filled up to it and the rest refunded.
taxOnly for tax tokens: how the tax splits (to the beneficiary, burned, paid to holders, added to liquidity), what has been paid out so far and what is waiting. See Creator Revenue.
curveFlap's constant-product parameters (x + h)(y + r) = k, for anyone quoting off-chain. Immutable per token.