Tokens & Bonding Curves
Reading a Token Page

Reading a Token Page

A token page at /trends/tokens/NAME puts five panels in front of you. Open one at superhero.com/trends/tokens (opens in a new tab) and follow along.

The tabs

TabWhat it shows
Posts / FeedThe community's feed and chat room. Where the token's community lives, if it has one
TradeThe buy/sell card, the candlestick chart, and your position
InfoToken summary: price, market cap, DAO balance, supply, creation date, every contract address
TransactionsRecent buys and sells with timestamps and transaction hashes
HoldersTop addresses and their balances

Trade, Transactions and Holders are disabled for a name that does not exist yet. The page doubles as the "this token has not been created" screen, with a Create Token call to action.

The Info tab

Every field in the token summary is a hard fact rather than an interpretation:

FieldMeaning
PriceCurrent spot buy price, one token, in AE
Market capSee below. Displayed in AE, convertible to fiat
DAO balanceAE accumulated in the community treasury from the spread
Total supplyTokens currently in circulation. Minted by buys, burned by sells
Creation dateWhen the community was deployed
Contract addressThe AEX-9 token contract
Sale addressThe bonding-curve sale contract, the handle for all trading
Created byThe account that called create_community

The API record behind it carries more than the panel shows: sell_price (the spot sell price, 0.5% under price), circulating_supply, rank, holders_count, tx_count, trending_score, trending_score_update_at, unlisted, and a performance object with past_24h, past_7d, past_30d and all_time sub-objects. See Tokens API.

rank is a stored market-cap rank over listed tokens, refreshed every 5 minutes. A token that has never been ranked sorts last, so a brand-new token does not briefly outrank everything.

tx_count is a count of indexed transaction rows for that sale address (all-time, including the create_community row), recomputed every time a new transaction for the token is persisted. It counts trades, not traders: compare it against holders_count to see whether a busy token is busy with many people or with one.

total_supply versus circulating_supply

They come from different places and can legitimately disagree:

FieldSource
total_supplytotal_supply() on the AEX-9 contract, read directly
circulating_supplyæternity middleware's AEX-9 event_supply, tracked from the token's Mint / Burn / Transfer event log

circulating_supply is null until the middleware has indexed the token's events, which is the case on a new token or when the middleware is behind. The two converge; use total_supply for anything that has to be right, including the 10% DAO participation quorum.

DAO balance is the most under-read number on the page. It is cumulative spread, so it measures how much value has actually traded through the token since launch. It is much harder to fake than a price, and not resettable by a single large buy.

Market cap, precisely

Market cap for a bonding-curve token is not the amount of money in the token, and it is not what holders would receive if they all sold. The backend computes it as

market_cap = total_supply × price

where price is the sale contract's quote for one whole token and total_supply is read from the AEX-9 contract. The same product is stored on every transaction row, there taken from the PriceChange event's next_price, the unit price the trade left behind.

Two details of that definition:

  • The unit price includes the 0.5% affiliation fee. TokenSale.price(count) is the curve integral plus the fee, so market_cap is 0.5% above a pure curve valuation.
  • It is a marginal price, priced for one token. It is the cost of the next token, applied to every token already minted.

So it is a rectangle, while the AE in the reserve is the area under the curve:

market cap    =  buy(S) × S                     ← a rectangle: today's price, every token
reserve paid  =  ∫ from 0 to S of buy(x) dx     ← the area under the curve
redeemable    =  0.995 × that same integral     ← what selling everything would return

On a rising convex curve the rectangle is always bigger than the area:

Total supplyMarket cap (AE)AE ever paid in (AE)Redeemable if everyone sold (AE)Market cap overstates by
10,000,0001,052.71518.09515.502.04×
100,000,000171,838.2071,838.1871,478.992.40×

A token showing a 1,000 AE market cap is backed by roughly 500 AE of reserve, and the gap widens as the curve steepens. Unlike most assets, the reserve is a number you can check on-chain.

Market cap is a ranking signal, not a valuation. The trending list defaults to sorting by it so that larger communities surface first, and for that job it is fine. Do not read it as money that exists.

The chart

The candlestick chart on the Trade tab is fed by GET /api/tokens/{address}/history, paginated 100 candles at a time, with three series overlaid: price, volume and market cap.

ControlOptions
Interval1m, 5m, 15m, 1h, 4h, D, W, M (default 5m)
CurrencyAE, or your selected display currency

The interval is passed to the API in seconds (300 for 5m, 86400 for D). The chart also subscribes to live transaction events, so the rightmost candle updates as trades land rather than waiting for a refetch.

On a thin token, a 5-minute candle chart is mostly noise: two buys an hour apart produce a chart that looks like a trend. Widen the interval to D or W before drawing conclusions from shape.

The performance object

past_24h, past_7d and past_30d are refreshed every 5 minutes. Each is built from trades inside a rolling window ending now, not from a calendar boundary and not from a synthetic price:

KeyWhat it is
currentbuy_price of the last trade in the window
current_dateWhen that trade happened
current_changecurrent − first, where first is the buy_price of the earliest trade in the window
current_change_percent(current − first) / first × 100
trendup, down or flat, from the same comparison
high / low and their datesHighest and lowest buy_price in the window

Three consequences:

  • The baseline is a trade, not a timestamp. A "7-day change" on a token whose only two trades in the last week were four days ago spans four days, not seven. It is the change between the first and last trades within the window.
  • A token that has not traded in the window has no object at all; the fields are null, not zero.
  • The prices are buy-side unit prices taken from the transaction rows, so they carry the 0.5% affiliation fee on both ends. The percentage is unaffected; the absolute values are 0.5% high.

Reading the Holders tab

Holders shows the top addresses and their balances. What to look for:

  • Concentration. If the top one or two addresses hold most of the supply, the price you see is set by whoever is smallest, and their exit would walk the curve down past everyone below them. Compare the top holder's balance against total_supply.
  • The creator's share. Pre-buys at creation happen at the very bottom of the curve: the first 437,000 tokens cost 1 AE. A creator holding a large share got them far cheaper than anyone buying now; that asymmetry is why the curve is steep at the start.
  • Holder count versus supply. A high holders_count with a small supply is a community. A low holder count with a large supply is one person's position with a price attached.

Reading the Transactions tab

Transactions lists recent buys and sells with amounts, unit prices, timestamps and transaction hashes. Every hash links out to aeScan (opens in a new tab), where you can verify it independently of Superhero's indexer.

Many small buyers suggests organic momentum; one large buyer suggests a pump with higher exit risk. Two refinements:

  • Look at the ratio of distinct accounts to transactions. Twenty trades from three addresses is not twenty people.
  • Look at what follows a spike. A large buy with no follow-through is a position, not a trend; the curve holds its new price until someone sells, so an elevated price proves nothing about demand.

You can pull the same data outside the UI, filtered by token, by account, or both, with the transactions script or the API. See Transaction History.

A checklist

Before buying, in the order the page makes them available:

  1. DAO balance: has real volume ever passed through this token?
  2. Holders: how concentrated is it, and how cheap was the top holder's entry?
  3. Transactions: distinct accounts, or one address round-tripping?
  4. Feed: is there a community here, or just a ticker?
  5. Your own slippage: how big is your trade relative to total_supply? Check it against the table on Fees & Slippage.
  6. Price and market cap: last, and with the caveat above firmly in mind.

Related