Developers · Terminal API v1
Build on CoinlyFans
Terminals and bots can read every coin's fee share: who it pays, what it collected, payouts and burns. Read-only, free and open.
No API key
Open GET endpoints, no sign-up
300 / min
Per client address, 15 s cache
CORS *
Call it straight from the browser
Quick start
Base URL https://api.coinlyfans.fun/api/v1. Everything answers JSON and no header is needed. Start with the list, then read one coin's fees.
curl "https://api.coinlyfans.fun/api/v1/coins?fee_sharing=native&limit=5" curl "https://api.coinlyfans.fun/api/v1/coins/3Aeyo7rj51KqwrvLtUZiq1e9wnySsPDsFHBJ4ivaboob/fees" curl "https://api.coinlyfans.fun/api/v1/coins/3Aeyo7rj51KqwrvLtUZiq1e9wnySsPDsFHBJ4ivaboob/payouts?limit=20"
Machine-readable contract: openapi.json.
Try it
https://api.coinlyfans.fun/api/v1/coins?limit=1Endpoints
| Endpoint | What you get |
|---|---|
| GET /coins | Every coin with a recorded fee split. Filters: fee_sharing (native, lp or std), since (ISO date). Paged with limit and cursor. |
| GET /coins/{mint} | One coin: mint, ticker, name, image, pair, fee sharing mode, fee tier, holder reward, charity and links. |
| GET /coins/{mint}/fees | Who the creator fee pays and in what shares: fee tier, split in bps (holders, charity, $CF buyback-burn, LP), holder reward mode with basket mints, charity, fee wallet, claim cadence (about every 3 minutes) and payout redirects. |
| GET /coins/{mint}/earnings | Claimed creator-fee totals and recent claim transactions, from recorded ledger rows only. |
| GET /coins/{mint}/payouts | Holder payout totals and recent transactions. Charity donations are listed separately when the coin has a charity. |
| GET /coins/{mint}/burns | Recorded burns. A figure that is not tracked comes back as available: false with a reason, never an estimate. |
| GET /openapi.json | The OpenAPI 3.1 document for everything on this page. |
Paging and formats
- Lists take
limit(1 to 200, default 50). When there is more, the answer hasnext_cursor: send it back ascursor.totalis the full filtered count. - Token amounts and lamports are decimal strings, so nothing loses precision. Times are ISO 8601 in UTC.
- Shares come as basis points (
_bps) and as percents (_pct), always of the gross creator fee. - Only recorded data is returned. Anything not tracked is
nulloravailable: falsewith a reason, never made up.
Example: GET /coins/{mint}/fees
A charity coin on a wBTC pair: 50% donated to BCRF in SOL, 50% paid to holders in $BTC.
{
"data": {
"mint": "3Aeyo7rj51KqwrvLtUZiq1e9wnySsPDsFHBJ4ivaboob",
"fee_sharing": "native",
"fee_tier_bps": 300,
"fee_tier_pct": 3,
"split": {
"cf_buyback_burn_bps": 0,
"lp_bps": 0,
"charity_bps": 5000,
"holders_bps": 5000,
"cf_buyback_burn_pct": 0,
"lp_pct": 0,
"charity_pct": 50,
"holders_pct": 50,
"unit": "percent_of_gross_creator_fee"
},
"split_note": "Of each claimed creator-fee credit: 50% is donated in SOL to the named charity through Donate.gg; 50% is paid to holders. Percentages are of the gross credit.",
"cuts_apply": false,
"holder_reward": {
"mode": "btc",
"mint": "C5xph2yL6gMdxmuLGxJBkGpmuDFfyi5fqkBNhvL6pump",
"symbol": "BTC",
"quote_mint": "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh"
},
"charity": {
"id": "bcrf",
"name": "Breast Cancer Research Foundation",
"ein": "13-3727250",
"website": "https://www.bcrf.org/",
"provider": "donate.gg",
"asset": "SOL",
"sharePct": 50,
"platformFeeBps": 300
},
"fee_wallet": "63hBJ4cvCbKcmRdRRzR9J3hUUAfstHaXECJeP1G38Qcj",
"claim_cadence": {
"interval_ms": 180000,
"interval_seconds": 180,
"note": "Creator fees are claimed into the fee wallet about every 180 seconds when the fee crank is running."
},
"payout_redirects": [],
"on_chain": {
"fee_sharing": "pump.fun fee-sharing config pays 100% of creator fees to the fee_wallet."
}
},
"meta": { "updated_at": "2026-11-13T22:55:13.789Z", "api_version": "v1" }
}Charity and cuts
- Charity coins: 50% of the creator fee is donated in SOL to the named charity (Breast Cancer Research Foundation, through Donate.gg) and 50% goes to holders. The answer shows
charity_bps: 5000andholders_bps: 5000, plus the charity's details. Charity works with any holder reward, baskets included. - 5/10 cuts: a small list of mints sends 5% to a $CF buyback-burn and 10% to the LP before anything else. For those,
cuts_applyis true and the split already includescf_buyback_burn_bps: 500andlp_bps: 1000. Holders and charity share what is left. Every other coin shows 0 for both. - Claims: creator fees land in the fee wallet and are claimed about every 3 minutes, then paid out.
payout_redirectslists any payout sent to a different wallet.
Errors and rate limits
Every error has the same shape:
{ "error": { "code": "rate_limited", "message": "Limit is 300 requests a minute for this address." } }| Status | Code | Meaning |
|---|---|---|
| 400 | bad_limit, bad_cursor, bad_since, bad_fee_sharing, invalid_mint | A parameter is not one the endpoint takes. The message says what is allowed. |
| 404 | not_found | No such coin or endpoint. |
| 429 | rate_limited | Over 300 requests a minute. Wait the seconds in Retry-After. |
| 5xx | internal | Our side. Retry with a short backoff. |
Every answer carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, plus an ETag. Send it back as If-None-Match and an unchanged answer comes back as an empty 304.
Versioning
v1 only gains fields. Nothing in it is renamed or removed; a breaking change ships as v2, announced 90 days ahead. v1 is read-only: it does not launch coins and takes no keys.