Creator stats API & widget
Every reward token and every buyback-and-burn token accrues a public track record: value paid to holders, value bought and burned, how many cycles have run, and when the next is due. This endpoint exposes that record for any token with no authentication, and the matching widget renders it as a card you can drop into your own site with one line of HTML.
What it is
Two public surfaces backed by the same data - the keeper's own distribution ledgers:
GET /embed/:address/stats- a JSON feed of a token's distribution stats.degen.zone/embed/:address- an iframe-ready card that renders those stats.
No auth, no keys. It exposes only what is already public on the token page, so it is safe to embed anywhere and is CDN-cached (~60s). It reports the on-chain reality even if an indexer event was briefly missed, because totals are read from the confirmed distribution receipts.
GET /embed/:address/stats
Returns the distribution stats for one token, keyed by its feeModel. The response always carries the token identity and the cadence; the reward and buyback blocks are populated according to which model the token runs (a standard token has both null).
curl -s https://api.degen.zone/v1/embed/0xToken…/stats
- Method
- GET
- Auth
- None (public)
- Cache
- ~60s
- CORS
- All origins
- Cadence
- ~15 min
- feeModel
- reward · buybackBurn · standard
Common fields
| Field | Meaning |
|---|---|
address / chain | The token and its chain. |
symbol / name | Token identity. |
feeModel | reward, buybackBurn, or standard. |
cadenceMs | Keeper interval in ms (~900000 = 15 min). |
Money is returned as an asset object everywhere: { raw, amount, symbol, decimals, address } - raw is the exact base-unit string, amount is the whole-unit number for a quick label.
Reward tokens
When feeModel is reward, the reward block is populated (and buyback is null):
{
"feeModel": "reward",
"reward": {
"asset": { "symbol": "IBM", "decimals": 18, "address": "0x…" },
"totalDistributed": { "amount": 26.28, "raw": "26280000000000000000", "symbol": "IBM", … },
"toHolders": { "amount": 26.28, "symbol": "IBM", … },
"devPaid": { "amount": 0, "symbol": "IBM", … },
"holderPercent": 100,
"runs": 4,
"lastAt": "2026-09-03T09:12:00.000Z",
"nextEstimatedAt": "2026-09-03T09:27:00.000Z"
}
}toHolders/devPaidsplit the total by the creator's reward/dev slider (holderPercent).runsis the number of distribution cycles;lastAt/nextEstimatedAtbracket the schedule.
Buyback & burn tokens
When feeModel is buybackBurn, the buyback block is populated:
{
"feeModel": "buybackBurn",
"buyback": {
"asset": { "symbol": "USDG", "decimals": 6, "address": "0x…" },
"totalBurned": { "amount": 1230.0, "raw": "1230000000", "symbol": "USDG", … },
"devPaid": { "amount": 307.5, "symbol": "USDG", … },
"burnPercent": 80,
"burns": 37,
"lastAt": "2026-09-03T09:12:00.000Z",
"nextEstimatedAt": "2026-09-03T09:27:00.000Z"
}
}totalBurnedis the value bought-and-burned (theburnPercentshare of each cycle);devPaidis the creator's non-burned share.assetis the pool's quote asset the buyback spends (native ETH or a quote token like USDG).
The embeddable widget
The same data, rendered as a self-contained card at degen.zone/embed/:address. Drop it into any page with an iframe - it carries its own styling and needs no script:
<iframe src="https://degen.zone/embed/0xToken…" width="400" height="270" style="border:0;border-radius:14px;overflow:hidden" loading="lazy" title="degen.zone stats"> </iframe>
Options
| Query param | Values | Effect |
|---|---|---|
theme | dark (default) · light | Force the card theme to match your site. |
The card shows the headline (paid-to-holders or bought-and-burned), the cycle count, and a live "last / next distribution" line that ticks inside the frame. A standard token with no distribution model renders a short neutral state.
The rest of degen.zone is frame-locked (X-Frame-Options: DENY). Only /embed/* opts out, with frame-ancestors *, so you can iframe the widget on any origin - and nothing else.
Status
Live - the stats endpoint and the widget are live on Robinhood Chain for reward and buyback-and-burn tokens. Standard tokens return a valid response with feeModel: "standard" and both distribution blocks null.
