What is Circle?
Circle is a live, equal-share survival pool on Solana. Qualifying token holders are mapped as nodes in the field. The pool tracks who remains, records every exit, and calculates a common next-round share from the vault.
This is a modern version of a tontine: a structure where the people who remain receive the value released by the people who leave. Your position is based on staying in the field, not on having the largest wallet.
Every exit is final. That makes the field legible: the survivor count can only decrease, while the share available to each remaining wallet can only increase when the vault is stable or growing.
Three moves.
Connect
Use the wallet button to identify your public address and highlight your node. The dashboard is readable without connecting.
Hold
Keep at least the configured minimum token balance. Your wallet enters the standing registry after the next complete scan.
Stay
Remain above the allowed tolerance through each round. If you fall, your position is recorded and cannot be restored by buying back.
The live field is the source of truth for the current holder set. The registry, event stream, payout scenarios, and your wallet panel all read from the same synchronized state.
Deliberately blunt.
Hold at least MIN_HOLD tokens and you qualify as a survivor from the moment you are first observed.
Every qualifying wallet receives the same share. A larger bag does not earn a larger payout.
A balance decrease beyond TOLERANCE_PCT counts as a sell and removes the wallet permanently.
Moving tokens to another wallet counts as leaving. Circle follows the wallet, not the person.
Excluded operational wallets—such as a bonding curve, LP, treasury, or team wallet—are filtered before eligibility is calculated.
Rules are applied to observed on-chain balances, not to a user’s intention. A transfer, sale, or other balance drop can therefore change a wallet’s status on the next completed scan.
Equal shares, round by round.
At settlement, Circle takes the configured percentage of the current vault and divides it evenly among the wallets still standing.
Per-wallet payout = (vault balance × PAYOUT_PCT) ÷ standing wallets
The remainder stays in the vault. The dashboard shows both the next cut and the hypothetical full-vault share so you can see the difference between a scheduled distribution and the total value available.
Settlement timing
Rounds are scheduled by ROUND_MIN. The operator ledger records the round number, standing count, distributed amount, and per-wallet amount. This dashboard calculates and records payouts; it does not custody funds or send settlement transactions.
What the dashboard knows.
Circle reads the configured token and vault from Solana. Holder scans use Helius when available and fall back to the configured public RPC only when it can provide a complete snapshot. Partial scans are rejected so a temporary data gap cannot manufacture exits.
| Signal | Meaning | Source |
|---|---|---|
| Live holders | Wallets currently above the minimum and not recorded as fallen. | Complete token-account scan |
| Vault | Current SOL balance of the configured vault wallet. | Solana account balance |
| Next cut | Estimated equal share for the next settlement. | Current vault and survivor count |
| Fallen archive | Wallets whose observed balance crossed the exit threshold. | Local ledger + holder scans |
| Round ledger | Recorded settlement totals and per-wallet calculations. | Local operator ledger |
CHAIN LINKED means holder and vault data are both healthy. SYNCING CHAIN means the first scan is in progress. SYNC ERROR means the app is refusing to present incomplete or invalid live metrics.
Your wallet, read-only.
Connecting a wallet only gives the browser a public address to compare against the live registry. It lets Circle highlight your node, show your current status, and calculate your observed share.
Circle never asks for a seed phrase or private key. It does not sign, submit, or settle transactions from the dashboard. You remain responsible for any transaction you make in an external wallet or exchange.
What the wallet panel can show
Standing — the address is currently eligible in the synchronized field.
Fallen — the address was previously eligible and crossed the exit threshold.
Unknown — the address has not qualified or the live holder scan is unavailable.
Read the boundary.
The app is transparent about what it does and does not do. On-chain balances, holder accounts, and the vault balance are read from Solana. Payout amounts are calculated and recorded in a ledger. The operator is responsible for settling those payouts from the treasury.
Circle is therefore a read-only monitor and accounting surface, not a trustless payout contract. The ledger can be used as the input for a future claim contract, but the current site does not enforce claims on-chain.
This is not investment advice. Token balances can change, RPC providers can fail, and the operator settlement boundary matters. Verify addresses and transactions independently before taking action.
The pool’s controls.
These server-side values define how a deployment behaves. Public-facing settings are reflected in the Rules and Live Field panels.
| Variable | Default | Purpose |
|---|---|---|
| TOKEN_MINT | required | Token mint whose holders are tracked. |
| VAULT_WALLET | required | Public wallet whose SOL balance is treated as the vault. |
| HELIUS_API_KEY | optional | Preferred source for complete paginated holder scans. |
| MIN_HOLD | 1 | Minimum token balance required to qualify. |
| PAYOUT_PCT | 25 | Percent of the vault distributed each round. |
| ROUND_MIN | 60 | Minutes between live settlements. |
| TOLERANCE_PCT | 0.5 | Balance-drop tolerance for rounding and fees. |
| POLL_SEC | 45 | Seconds between live holder scans. |
| EXCLUDED_WALLETS | — | Comma-separated operational wallets removed from eligibility. |
| TICKER | TONT | Token symbol shown beside holder balances. |
Read the same state.
The dashboard uses a small read-only HTTP interface. All API routes are relative to the deployment origin.
GET /api/healthReturns service health, current mode, survivor count, and round.GET /api/stateReturns configuration-safe pool state, sync status, vault, payout, and round metrics.GET /api/standingReturns the current standing registry. Add ?limit= to cap results.GET /api/fallenReturns the irreversible fallen archive. Add ?limit= to cap results.GET /api/roundsReturns recent settled rounds and equal-share calculations.GET /api/historyReturns historical survivor, vault, and per-head samples for the chart.GET /api/eventsReturns recent join, fall, round, and sync events.GET /api/me?wallet=…Returns the observed status and balance information for one public wallet.GET /streamOpens an SSE stream for hello, state, pulse, field, fall, fallen, round, and event updates.Before you enter.
Can I view Circle without connecting a wallet?
Yes. The field, holder registry, event stream, payout scenarios, and ledger are public. Connecting only personalizes the view for one public address.
What happens if the token mint is wrong?
The live scan is rejected and the interface shows SYNC ERROR. Circle does not convert an invalid mint into a believable empty pool.
Can I rejoin after falling?
No. A qualifying wallet that crosses the exit threshold is permanently recorded as fallen. Buying back in does not restore its standing position.
Why are my numbers different from an explorer?
The dashboard applies the configured minimum, tolerance, and excluded-wallet rules. It also uses a complete scan boundary rather than whichever accounts an explorer happens to show first.
Does Circle hold my funds?
No. The site reads the public vault balance and calculates the ledger. It does not hold private keys or send transactions.
Where should I report a data problem?
First compare the public mint, vault address, and current chain state. If the source is correct but the dashboard remains stale, the deployment’s sync status and event stream are the useful diagnostics.