Overview
Three things exist for every public X account:
- Receipts: a public scorecard of every coin the account called, scored against the chart.
- A cap: a coin for that account on a Meteora Dynamic Bonding Curve, traded on Solana.
- A claim: the account owner signs in with X and takes over the cap's creator role and its fees.
Receipts & scoring
What counts as a call
A public post that names a Solana token: a $TICKER, a mint address, or a link to pump.fun, GMGN, DEX Screener, Axiom, Fomo, Birdeye, Photon or Jupiter. Majors and fiat tickers (SOL, BTC, ETH, USDC, USDT, USD) are ignored. Links that point to a trading pair are resolved to the token before scoring.
How a call is scored
| Field | Definition |
|---|---|
| Price at post | The token price at the minute the post was published |
| Peak | Highest price in the 24 hours after the post, as % change from the price at post |
| 24h low | Lowest price in the same window, as % change |
| Time to peak | Minutes from the post to the peak |
| Hit | Peak reached 1.5× the price at post or more within 24 hours |
| Hit rate | Hits ÷ scored calls |
Calls are scored after their 24-hour window closes. The leaderboard covers the last 30 days and lists accounts with at least five scored calls.
Clocked
A Clocked badge is a fact about a linked wallet's trades around a call. It never states a motive.
| Badge | Rule |
|---|---|
| Bought before | A linked wallet bought the token within 30 minutes before the post |
| Sold after | A linked wallet sold 25% or more of what it held at post time within 30 minutes after the post |
A wallet is linked when the account owner claims with it, or when the account publicly posted it as its own. Every badge links the transaction on Solscan. Owners can dispute a badge; disputed badges show "under review" until resolved.
Caps
Each handle's cap is an SPL token launched on a shared Meteora DBC config:
| Parameter | Value |
|---|---|
| Supply | 1,000,000,000, 6 decimals, immutable metadata |
| Quote | SOL (USDC and geo-fenced stock quotes later) |
| Curve | Starts near 25 SOL market cap, graduates near 420 SOL |
| Graduation | Migrates automatically to a Meteora DAMM v2 pool |
| Liquidity after graduation | 100% permanently locked |
| Pool creator | The handle's vault PDA until the owner claims |
Fees
Every trade pays a flat 2% fee. Meteora's program keeps a fixed 20% of it; the rest is split between the pool creator and CREATORCAP.
| Share | Of the fee | Of the trade | Goes to |
|---|---|---|---|
| Creator | 40% | 0.80% | The handle's vault until claimed, then the owner |
| Meteora | 20% | 0.40% | DBC protocol |
| Holders | 20% | 0.40% | Holder rewards pool, paid out time-weighted |
| Buyback | 20% | 0.40% | Buys back and burns $NOCAP |
Claiming
- Connect the wallet you want the fees in and press Claim with X.
- Sign in with X from the handle's account (scopes
users.read tweet.read; we never post for you). - CREATORCAP signs a short-lived attestation: this X user id may claim into this wallet, valid for 10 minutes.
- You send one transaction: an Ed25519 verification of that attestation, then
cap_vault::claim. Only your wallet can use it. - A crank calls
release_poolfor each of your caps, moving the creator role to your wallet. Accrued fees move with it, and you claim them directly from the pool.
The vault is keyed to your numeric X user id, not your handle, so renaming the account never loses the claim.
Invites
| Rule | Value |
|---|---|
| Codes per member | 3 per rolling 24 hours |
| Code lifetime | 48 hours, single use |
| Format | NOCAP-XXXX-XXXX |
| Eligibility | X account 30+ days old with 25+ followers; one membership per X account |
| Invite tree | Every member shows who invited them and their depth |
| Enforcement | Codes are never sold. Farming or selling codes revokes the seller and the codes they minted |
No code? Join the waitlist. Codes are released to the front of the line every week.
$NOCAP
$NOCAP is the platform token. It launches after the invite-only beta proves invites and claims on mainnet, on CREATORCAP's own Meteora DBC config. From launch, 20% of every cap trade's fee buys back and burns $NOCAP. There is no presale and no points-for-deposits program.
Delisting
An account owner can ask to remove their handle. Until claims open, message @creatorcap from the account; we remove the receipts page and stop new caps the same day. After claims open, delisting is a button on the claim page.
API
The site runs on a public JSON API. The full contract is the OpenAPI 3.1 spec at /openapi.json.
| Method | Route | What it does | Limit / cache |
|---|---|---|---|
| GET | /api/stats | Live counts: waitlist, handles, scored calls, members, invites used 24h, claimed handles | edge 30 s |
| GET | /api/handles?q= | Type-ahead, up to 8 handles by prefix | 60 / min |
| GET | /api/handles/{handle} | Receipts: summary, last 100 calls, Clocked facts, caps | 30 s |
| GET | /api/leaderboard?by= | hit_rate, median_peak or calls; 30 days, 5+ scored calls | edge 60 s |
| POST | /api/waitlist | {handle} → position | 10 / hour |
| GET | /api/invite/status | Whether redemption is open, with reasons | — |
| POST | /api/invite/check | {code} → valid / used / expired / unknown | 20 / 10 min |
| POST | /api/invite/redeem/start | {code, wallet} → X sign-in URL; reserves the code 10 min | 20 / 10 min |
| GET | /api/me | Member profile, allowance, minted codes (cookie) | — |
| POST | /api/invites | Mint an invite (member, 3 per rolling 24 h) | allowance |
| GET | /api/claim/status | Whether claims are open, with reasons | — |
| POST | /api/claim/start | {wallet} → X sign-in URL | 10 / 10 min |
| GET | /api/claim/attestation?session= | Signed claim attestation for the on-chain claim | — |
Errors
Every error is JSON: {"error": "code", "message": "text"}, with reasons when a feature is closed. Browsers must call from the same origin; cross-origin writes get 403 cross_origin. Rate limits are per IP.
curl -s https://creatorcap.app/api/stats
curl -s "https://creatorcap.app/api/handles?q=ansem"
curl -s https://creatorcap.app/api/handles/ansem
Program
Claims run through cap-vault, an Anchor program. The vault never holds tokens: it only holds the creator role of each pool until the owner claims.
| Instruction | Who | What it checks |
|---|---|---|
register_handle | Anyone | Creates the vault PDA ["handle", x_user_id]; deterministic, so it cannot be squatted |
claim | Owner wallet | Ed25519 attestation from the configured attestor over program id, X user id, wallet and expiry (≤ 15 min); vault unclaimed |
release_pool | Anyone (crank) | Vault claimed; new creator equals the claimed wallet; calls Meteora DBC transfer_pool_creator |
set_config | Admin (multisig) | Rotate the attestor key or pause claims; cannot move a claimed vault |
Meteora DBC program: dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN. The cap-vault program id is published here at mainnet deploy, with its upgrade authority held by a multisig.
Risks
- Caps and $NOCAP are volatile tokens on bonding curves. You can lose everything you put in.
- Receipts are computed from public data and can be wrong or delayed; scores are not advice.
- Smart contracts can have bugs. cap-vault is tested against Meteora's mainnet program; its audit status is published here before claims open.
- Stock quotes, when added, are not available to US persons or residents of restricted regions.
FAQ
Is my handle listed without my permission?
Receipts are built from public posts, like any analytics site. A cap can be launched for any public handle; its creator fees are held for the owner until they sign in with X and claim. Owners can ask to delist at any time.
What counts as a "hit"?
A call hits when the coin trades at 1.5× or more of the price at the time of the post, within 24 hours. Calls are scored once the 24-hour window closes.
What does "Clocked" mean?
A fact-only badge on a call where a wallet linked to the account bought within 30 minutes before posting, or sold 25% or more of its position within 30 minutes after. Every badge links the transaction, and owners can dispute it.
Is a cap a share in a person?
No. A cap is a coin on a bonding curve. It gives no rights in a person or company, and its price can go to zero.
When does $NOCAP launch?
After the invite-only beta proves invites and claims on mainnet. 20% of every cap trade's fee buys back and burns $NOCAP from launch.