Checker + beta economy
A working spec for the pre-mainnet phase: a wallet-and-X checker that sets a starting virtual balance, and a beta economy that turns that balance into a season leaderboard.
Editorial notes on this revision
This pass keeps every idea from the original draft but fixes four things that worked against the doc's own goal of being a build-ready spec:
- Scoring system, settled after a few passes. The original draft's changelog described a unified 75/25, 0–100 score, then contradicted it a few sections later with a separate dual-bracket dollar formula (max $16,000). This revision briefly replaced the dual-bracket formula with a blended-score version to resolve that — wrongly, it turned out, since the dual-bracket "each score stands on its own merit" formula was the intended one all along. It's restored below, matching the original's own worked examples exactly. See Scoring, reconciled for the formula and the full back-and-forth in the callout there.
- Closed the ribbon-rack gap. The card shows six on-chain ribbons, but Wallet Score is built from eight signals; wallet age and protocol breadth (24 of 100 points) had no visual home and no explanation. Added a one-line note rather than leaving it unexplained.
- Tightened a few ambiguous lines — the referral formula referenced "checker score" where it meant the checker-derived dollar balance; terminology (capitalization of Daily Games, beta, drafts.fun) is now consistent.
- Added structure for scanning — an at-a-glance summary up top, and this notes box, so a reader can see what's canonical without diffing two drafts themselves.
- Wallet Score weights updated per your spreadsheet. Jupiter swap volume moves from 12 to 15 points max, Perps volume moves from 15 to 12, Wallet net worth and pump.fun keep their point caps but gain a third grade tier, and Unique protocols touched / Wallet age now have documented tier breakdowns for the first time. Detail in Scoring, reconciled and the tier system.
- Data vendors confirmed. ChainAware replaces Helius/Dune/Flipside for all Wallet Score signals (API key pending). Wallchain replaces the Ethos/TweetScout/Twitterscore/Kaito comparison for CT Score, sole provider — Human Passport stays on underneath it as a separate proof-of-personhood gate. The card's three social ribbons collapse to one (X SCORE), tier cutoffs marked as a working default pending real score distributions.
- Card flex score, separated from the balance math. With balance no longer a single blended number, the card's headline figure is now its own thing:
max(Wallet Score, CT Score), so a strong X presence on a weak wallet is still worth posting. Detail under the card.
At a glance
Connect a Solana wallet and X → the checker scores both independently (0–100 each) → Wallet Score sets a base balance and CT Score adds its own bonus on top ($1,000–$16,000 combined) and renders a shareable card headlined by whichever score is stronger → posting it unlocks an invite code. From there, balance moves only two ways: skill (win battles, draft better) and referral (profit-based, capped at two invites). A daily loop of expiring loaner entries brings busted players back without inflating the economy. At mainnet, a fixed real-money pool pays out by season rank, which tracks net trading profit — never raw balance, gifts, or referral credit.
What changed in this version
This version parts company with the earlier checker doc and beta program in seven places, and each is worked through in the section it belongs to.
Rank now runs on net trading profit, not ending balance. Season rank and mainnet pool share follow money actually won at the tables; starting stack, gifts, and referral credit sit outside the calculation entirely.
Wallet Score and CT Score each stand on their own merit. Wallet Score sets a base balance; CT Score adds a bonus on top — the higher of its own standalone bracket, or a percentage of the wallet balance. Neither one drags the other down, and a strong showing on either axis is worth real money.
The card's headline number is separate from the balance math. It's a flex score — whichever of Wallet Score or CT Score is higher — so a strong X presence on a weak wallet is still worth posting, even though the balance formula treats the two more conservatively.
An admin path stamps KOL cards in bulk, alongside the public flow — the team can mint a wave of ambassador cards without walking each influencer through connect-and-play.
The daily reward is now burn-today entries on a loaner stack, not balance handed to the wallet — enough to bring a busted low-balance player back tomorrow without inflating the economy or the leaderboard.
Referral runs on a profit basis. The seed an invitee starts with, and the reward their referrer collects, are both tied to real trading profit and rake generated through actual play — not to whatever raw balance sits in an account.
Buy-ins are tiered from $25 to $3,000, with a poker-style rake underneath — every balance tier gets a stake it can sensibly size to, and the economy gets the deflationary force it was missing.
A ·The Checker
Connect a Solana wallet and X. The checker reads on-chain history and turns it into a single 0–100 score. The score sets the starting beta balance and renders a personalized, shareable card. Posting the card on X unlocks the invite code.
It's both sybil filter and viral growth object. A fresh, empty wallet scores near zero and starts near nothing; a real, aged, active wallet with genuine crypto-twitter presence scores high and gets a bigger, more shareable number. Precedents: Kaito's mindshare card, ETHGas GAS ID, Monad's airdrop card — see below.
The build, in four blocks
Wallet connect and the X share-gate. A Solana wallet adapter (Phantom or Backpack) handles a read-only connect; X OAuth verifies the card was genuinely shared before any code is released. The share is the price of access, and a gate nobody enforces isn't a gate.
Data-fetch layer. Wallet history is pulled from a managed provider rather than an index we stand up ourselves. Solana's account model is painful to parse directly — a separate token account per SPL, custom program layouts underneath — and providers have already solved that, saving weeks of unrewarding work.
Scoring engine. A small deterministic function over pre-fetched signals, built as a pure function so it stays fast, stays testable, and can be re-weighted later without touching the plumbing around it.
Card generator. Renders the score into a branded, shareable image. This is the block that carries growth — the card has to read as a status flex, not an advert for us.
Data providers
| Vendor | What we take from it | Status |
|---|---|---|
| ChainAware | All eight Wallet Score signals: pump.fun / Jupiter / perps volume, wallet net worth, protocol count, wallet age, staking, blue-chip NFT holdings | Confirmed vendor — API key pending |
Scope discipline is what keeps the timeline short. v1 uses only signals that are cheap to source; anything needing custom program decoding or fuzzy attribution is deferred to wave 2 without argument. With that cut in place, one competent Solana dev ships the MVP scorer on eight signals in about a week, and the full flow with card and share-gate in two to three.
Sourcing the X avatar and handle
The card carries the user's X profile picture and @handle, both pulled from the same X login already running for the share-gate — one extra call inside an existing flow, not a second integration to build and maintain.
Auth. OAuth 2.0 authorization code flow with PKCE, requesting users.read, tweet.read, and offline.access. App-only bearer tokens don't work here, since the profile endpoint requires user context.
Fetch. On the OAuth callback, call the current v2 profile endpoint with the user's access token.
Upscale the avatar. profile_image_url returns the 48×48 _normal thumbnail, which looks broken at card size — swap the _normal suffix for _400x400 (or strip it for the original) before it reaches the card.
Cache both the avatar and handle so re-renders never re-hit the API.
Scoring, reconciled
Two inputs, each standing on its own merit: Wallet Score (on-chain history, 0–100) sets a base balance. CT Score (crypto-twitter standing, 0–100, zero if X isn't connected) adds a bonus on top — the higher of its own standalone bracket, or a percentage of the wallet balance. Both use the same $1,000–$8,000 bracket table (below), just applied twice.
wallet_balance = bracket(Wallet Score) <- $1,000–$8,000, see table below
ct_own_merit = bracket(CT Score) <- same table, applied to CT Score alone
ct_pct_bonus = wallet_balance × CT Score / 100
ct_bonus = 0 if X not connected
max(ct_own_merit, ct_pct_bonus) if X connected
starting_balance = wallet_balance + ct_bonus <- naturally caps at $16,000
Wallet Score and CT Score never drag each other down — a weak wallet doesn't shrink a strong CT bonus, and a weak CT Score never costs you anything beyond adding zero. The "higher of the two" rule means CT pays out generously in two different ways depending on the player: a fresh wallet with a strong X presence still collects CT's own bracket value outright (real mindshare pays for itself), while a strong wallet with a middling X Score gets topped up by a percentage of that wallet's own balance (history amplifies a decent-but-unspectacular social signal).
| Player | Wallet Score | CT Score | Wallet balance | CT bonus | Starting balance |
|---|---|---|---|---|---|
| Bought/rented X account, fresh wallet | 5 | 85 | $1,000 | $8,000 | $9,000 |
| Real KOL, real wallet | 85 | 85 | $8,000 | $8,000 | $16,000 |
| Whale wallet, no X connected | 85 | — | $8,000 | $0 | $8,000 |
| Mid wallet, mid CT | 50 | 50 | $4,000 | $4,000 | $8,000 |
| Strong wallet, weak CT | 85 | 15 | $8,000 | $1,200 | $9,200 |
| Both maxed | 100 | 100 | $8,000 | $8,000 | $16,000 |
Intentional trade-off, kept from the original: a fresh-wallet account with a bought or rented X Score of 85 lands at $9,000 — above a maxed on-chain wallet with no X at all ($8,000). That's deliberate: verified mindshare pays on its own, even on a wallet with no history. History still matters, though — that same account reaches the full $16,000 ceiling only by also connecting a top-bracket wallet, and a top-bracket wallet with even a modest CT Score of 15 already clears $9,200 without needing much social proof at all.
When does the percentage bonus actually apply?
With CT Score locked to Wallchain's 8 discrete tiers, "the higher of its own bracket or a percentage of the wallet balance" isn't a smooth trade-off — it's a fixed, checkable table. For each CT tier, the wallet balance needed for the percentage path to beat the own-merit floor is own-merit floor × 100 / CT Score. Since wallet balance tops out at $8,000, several tiers can never reach their own crossover point.
| CT tier | Own-merit floor | Wallet balance needed to beat it | Ever reachable? |
|---|---|---|---|
| 5 | $1,000 | > $20,000 | Never — floor always wins |
| 15 | $1,000 | > $6,667 | Only at Legend ($8,000) |
| 20 | $1,000 | > $5,000 | At Veteran ($6,000) or Legend |
| 40 | $2,000 | > $5,000 | At Veteran or Legend |
| 60 | $4,000 | > $6,667 | Only at Legend |
| 80 | $6,000 | > $7,500 | Only at Legend |
| 90 | $8,000 | > $8,889 | Never — floor always wins |
| 100 | $8,000 | > $8,000 (tie, not beat) | Never strictly — best case is a tie at Legend |
So the percentage clause is narrower than "the higher of the two" suggests. At the very bottom (CT tier 5) and top (90, 100) of Wallchain's scale, the own-merit floor wins unconditionally — no wallet, however strong, unlocks the percentage bonus there. It only ever kicks in for the four middle tiers (15, 20, 40, 60, 80), and even then only for a Chain Veteran or Onchain Legend wallet — a Tourist, Ape, or Degen wallet can never trigger it, at any CT tier. In practice, the percentage path exists to do one specific job: let a strong wallet with a middling X Score get amplified credit for that middling score, rather than being stuck with CT's flat floor. It does nothing at either extreme of the X Score range.
Wallet Score (0–100)
| Signal | Points |
|---|---|
| pump.fun lifetime volume | up to 18 |
| Jupiter swap volume | up to 15 |
| Wallet net worth | up to 15 |
| Perps volume (GMtrade, Pacifica, Jup) | up to 12 |
| Unique protocols touched | up to 12 |
| Wallet age | up to 12 |
| SOL staked (native / LST / Jito) | 8 |
| Blue-chip Solana NFT (Mad Lads, SMB) | 8 |
CT Score (0–100). Computed from the connected X account via Wallchain's X Score — crypto-twitter standing from follower quality and organic engagement, not raw follower count. One X account links to one wallet, permanently.
Wallchain X Score / 10 — Wallchain's own scale is 8 discrete tiers, not a continuous 0–1000 range. Table below.
| Wallchain X Score | CT Score |
|---|---|
| 0–50 | 5 |
| 51–75 | 15 |
| 76–99 | 20 |
| 100–200 | 40 |
| 201–350 | 60 |
| 351–500 | 80 |
| 501–800 | 90 |
| 801–1000 | 100 |
Worth having in view: the bottom three Wallchain tiers (X Score 0–99 — likely where most non-KOL accounts land) all produce a CT Score of 20 or below, which all fall into the same $1,000 bracket in the balance formula. So for the majority of ordinary accounts, CT Score won't meaningfully differentiate the dollar bonus — the bracket floor is identical whether someone's X Score is 5 or 95. Differentiation only really kicks in once an account crosses into Wallchain's top half (200+).
Social-score partners
We source a per-X-handle score from Wallchain rather than build X-graph scoring ourselves. Wallchain's X Score is built on the Crypto Twitter Connectivity Graph — a map of retweets, follows, and comments seeded from known-influential accounts — so it isn't a raw follower count and resists the buy-followers attack the checker is designed against.
| Provider | Role | Range |
|---|---|---|
| Wallchain X Score | The CT Score itself — crypto-twitter influence from follower quality and organic engagement, via the Crypto Twitter Connectivity Graph | 8 discrete tiers (0–1000 raw) mapped to CT Score 5/15/20/40/60/80/90/100 — see Scoring, reconciled |
| Human Passport | Sybil gate, run underneath Wallchain — proof-of-personhood, independent of and prior to the mindshare score. Binary: pass or fail, no points. | Free public API |
Score to dollar bracket
One table, used twice: once to turn Wallet Score into wallet_balance, once to turn CT Score into ct_own_merit (see the formula above).
| Score | Bracket |
|---|---|
| 0–20 | $1,000 |
| 21–40 | $2,000 |
| 41–60 | $4,000 |
| 61–80 | $6,000 |
| 81–100 | $8,000 |
The spread from bottom to top is eight to one on each axis — wide enough that a high score on either one is worth chasing. Combined, the two brackets run from $1,000 (nothing on either score) to $16,000 (both maxed). We can afford to be generous because rank runs on profit rather than balance: the stack a player is handed at the start is fuel for the games ahead, not a payout we've quietly promised to cover later.
The card and the Influencer Card Factory
The card carries a serial number for invite scarcity, the X avatar and handle, a rank medal tiered by score, a flex score as the hero number, a rack of protocol ribbons graded per signal, and a beta deposit line at the foot.
FixedThe draft line "I've received $5,000 based on my score" matched no tier in the balance table and read as a cash payout. It's been rewritten to the real tier with a testnet-stack read, and no longer appears on the card below.
NoteThe hero number is a flex score, separate from the dollar formula: max(Wallet Score, CT Score). Balance math treats the two conservatively (each has to earn its own bracket), but the card doesn't — whichever identity is stronger gets to carry the headline, so a weak wallet with a strong X presence is still worth posting. The rank medal below is keyed to this flex score, not to the starting balance.
NoteTwo of the eight Wallet Score signals — wallet age and protocol breadth — feed the Wallet Score number but don't get their own ribbon. The rack surfaces the six most flex-worthy signals rather than a 1:1 accounting of every scoring point; see the tier system for the full breakdown.
Live vector, matched to Figma social card v6 — Figma needs a follow-up update: ribbon groups no longer carry "75%"/"25%" labels, since the hero number is now max() of the two, not a weighted blend. Labelled a drafts.fun score, not an on-chain score; no deposit line.
The tier system
Every element on the card is graded, and the grades are the score. Full breakdown in Figma: tier system v2.
Rank medal · score → status
| Score | Status | Degen phrase |
|---|---|---|
| 81–100 | ONCHAIN LEGEND | "the market fears your wallet" |
| 61–80 | CHAIN VETERAN | "you've bled enough to know better" |
| 41–60 | CERTIFIED DEGEN | "up bad, down worse, still clicking" |
| 21–40 | APE IN TRAINING | "learning to lose with style" |
| 0–20 | TOURIST | "just here for the airdrop" |
Protocol ribbons · compose Wallet Score (0–100)
| Ribbon | Signal | Grade → points |
|---|---|---|
| PUMP.FUN | pump.fun lifetime volume | $10k+ · 5 $50k+ · 10 $100k+ · 18 |
| JUP OG | Jupiter swap volume | $25k+ · 5 $50k+ · 10 $100k+ · 15 |
| PERPS | Perps volume (GMtrade, Pacifica, Jup) | any · 4 $10k+ · 8 $50k+ · 12 |
| WHALE | Wallet net worth | $1k+ · 5 $10k+ · 10 $50k+ · 15 |
| STAKER | SOL staked (native / LST / Jito) | non-staker · 0 staker · 8 |
| MAD LAD | Blue-chip Solana NFT | non-holder · 0 holder · 8 |
| no ribbon | Unique protocols touched | 1 protocol · 4 5 protocols · 8 10 protocols · 12 |
| no ribbon | Wallet age | 1 month · 4 6 months · 8 1 year+ · 12 |
Social ribbon · composes CT Score (0–100)
| Ribbon | Signal | Value |
|---|---|---|
| X SCORE | Wallchain X Score | CT Score 5/15/20/40/60/80/90/100, per Wallchain's 8 tiers (0–1000 raw) |
| PASSPORT | Proof-of-personhood (Human Passport) | gate, not points |
Influencer Card Factory. A custom admin path to stamp KOL cards in bulk, skipping the connect-and-play flow. Paste a list of handles (avatar and handle auto-pulled), set score or balance manually, pick ribbons, generate a full wave at once.
Cards minted this way look identical to organic cards so they read as authentic when posted, but carry ambassador terms rather than a checker result, and are admin-gated — never exposed to the public endpoint.
Precedents worth copying
Four shipped products that already proved the parts we're assembling. None of this is novel, which is the point.
Kaito social card. Reads the X social graph — total and smart followers, impressions, smart engagement, crypto mindshare, a historical rank percentile — and renders it as a dense, branded stat card. The score is social, not on-chain. It became the default flex format on crypto twitter and carried Kaito's rise as the leading InfoFi platform. Takeaway: the card-as-status-object is proven, and dense stats plus a rank percentile plus clean branding is what earns the organic share.
ETHGas GAS ID. Scans a user's entire Ethereum history across all linked wallets back to the Beacon Chain, aggregates total gas spent, computes a rank percentile and a tiered grade (Baby, Kiddo, Teen, Hero, Legendary), and renders a shareable card. Linking more wallets raises your number; sharing plus a referral loop earns points. 283K+ participants from a single on-chain metric. Takeaway: mechanically this is almost exactly our checker — one metric, percentile, tiered grade, card, share, referral. The closest direct template we have.
Monad airdrop card. Handpicked active crypto twitter users, gave each a card with a role, and prompted them to nominate others who'd been missed — a referral loop built into the object itself. The claim portal authenticates through Privy, checks the address against an eligibility database built from on-chain activity (DEX traders including pump.fun, DeFi depositors, NFT holders) alongside social-graph data, with anti-sybil run by Trusta AI. Takeaway: this is our full stack at scale — on-chain plus social scoring, card, nomination referral, third-party sybil.
Privy — claim your forgotten funds. Privy Home aggregates every embedded wallet tied to your login across every app that uses it: balances, history, fund and export. One post explaining it hit roughly a million views, with people finding real balances they'd forgotten about. Takeaway: a checker doesn't strictly need a card to go viral, because a strong "check whether you have X" hook stands on its own. Worth keeping as a backup viral primitive if the card underperforms.
B ·The Beta Economy
No points to collect, no quests to tick off, no farming for its own sake — the only two things that carry weight are the stack a player sits down with and what they do with it once the games start. Card score decides where you begin; from there the stack moves on skill and on a single referral lever, while a daily loop pulls you back in on the morning after you bust. At mainnet, trading profit sets rank, and rank sets your share of a fixed real-money pool — none of it counts unless you actually played.
The stack is fuel, not payout: it climbs when you win and falls when you lose, and a bigger balance buys room to take bigger swings — it's the profit underneath it that eventually pays. If it goes to zero, the Daily Games loop is the road back in.
Buy-in tiers
| Tier | Buy-in |
|---|---|
| Micro | $25 |
| Floor | $100 |
| Standard | $500 |
| High | $1,500 |
| Whale | $3,000 |
A single flat buy-in would hand wildly different survival odds to players depending on their starting balance; a menu lets everyone size the stake to the stack they're actually holding, keeping the bottom tier alive long enough to become players rather than churn. Open on the lower tiers first, add $1,500 and $3,000 seats once balances have grown enough to fill them.
Two levers to grow your balance
Lever 1: Skill. Enter battles and leagues, draft better, win. A win takes balance off your opponent and adds it to yours. Only genuinely good players climb.
Lever 2: Referral (profit-based). Every player gets two one-time invites tied to their wallet. This replaces the old flat balance-doubling bonus, which could mint balance with no limit.
Invitee starting balance: the higher of 50% of the referrer's own net trading profit (not raw balance), or the invitee's own checker-derived starting balance. The checker fallback guarantees a new invite can always play at least once.
Referrer reward: an ongoing commission (working default 10%) on the rake their invitee generates through play. It adds to spendable balance but doesn't count toward ranked profit. Single level, no cascading commissions.
Both sides tie to real trading profit and real activity, so invites stay valuable without inflating the numbers meant to reflect skill. An idle invite earns nothing.
Daily Games: the retention loop
A player with a weak wallet and weak X presence gets a small stack. If they lose it in two games with nothing to come back to, they leave — and low-balance, high-frequency players are exactly the retention story worth funding. We bring them back tomorrow without just handing out balance.
The mechanic. Instead of balance added to the wallet, the daily reward is a small number of Daily Games — burn-today entries that expire. A new player opens on one game a day and climbs one entry at a time; each tier is wider than the last, so every extra entry costs more consecutive days than the one before it.
Streak tiers (working default)
| Streak | Daily Games | Loaner each | Fuel ceiling / day | Days to earn | Entries banked |
|---|---|---|---|---|---|
| Day 1–2 | 1 | $100 | $100 | — | 2 by day 2 |
| Day 3–5 | 2 | $100 | $200 | 2 | 8 by day 5 |
| Day 6–9 | 3 | $100 | $300 | 3 | 20 by day 9 |
| Day 10–13 | 4 | $100 | $400 | 4 | 36 by day 13 |
| Day 14+ | 5 | $100 | $500 | 4 | 41 by day 14, +5/day after |
Missing a day is not a reset. The streak drops back about two days — a player who falls off at day 20 restarts around day 18 and keeps all five entries, while someone who slips at day 10 lands back on day 8 and gives up one. A separate 14-day perfect-attendance badge rewards players who never miss.
Loaner stack. Each entry is one battle on a temporary stack (e.g. $100) the platform lends for that game. The loaner isn't yours. Unused entries expire end of day and can't be hoarded.
Earn it by playing. Log in and play at least one battle. Granted on yesterday's activity regardless of today's balance, so a player who busted to $0 yesterday still gets today's entries.
Settle. Win: the profit above the loaner goes into spendable balance as fuel for paid battles — it does not count as ranked profit, so grinding easy bot games can never buy rank. Lose: only the loaner is lost; the player's own balance is untouched.
Two separate rails. Daily Games feed only spendable balance and activity count. Paid battles feed both balance and ranked profit. A busted player rebuilds a real stack for free, then earns their payout by playing that stack — bot-grinding never leaks into the leaderboard.
Ranking and payout: profit, not balance
Season rank and mainnet prize-pool share are based on net trading profit — money won or lost through actual battles, not raw ending balance.
Excluded from profit (fuel, not skill): starting balance, Daily Games loaners and winnings made inside Daily Games, and referral commission. Only profit from paid battles counts toward rank.
Payout: a fixed real-money pool (around $50,000) split by rank, top down. Because the pool is fixed and split by rank, total spend is controlled by construction — starting stacks and daily loaners are never direct payout liabilities.
Activity gate: one threshold of 50 battles for everything (payout eligibility and Leagues qualification), binary, snapshot at beta close. Miss it and you place nowhere, regardless of profit.
Leaderboard (default): a public status ladder (rank badges, win/loss, tier), with the exact profit figure kept private per player. Easy to flip to a fully public board if the team prefers.
Rake, conversion, growth
Conversion. At mainnet the fixed pool is distributed by final rank to players who cleared the gate — no "balance times a rate" to walk back. Structure is published by position (top 1% share, top 10% share); no dollar figures shown during beta.
Growth loop. Every win, rank-up, and streak renders a branded result card, one tap to post. The brag moves from "I'm up $114k" to "hit Diamond" — keeping the reach and dropping the casino optics. Status trophies (a Drafts ring, rank badges, top-tier merch) are a sink, not another earn lever. Testnet framing softens the gambling and legal read.
Anti-exploit summary
The exploits this economy closes:
- Sybil / farm wallets: on-chain score filters them, the social component is gated by it, and referral seeding ties to real trading profit — a zero-profit wallet can't hand value down a chain.
- Referral inflation: the old balance-doubling bonus is replaced by a rake commission that never counts toward rank.
- Fake clout on fresh wallets: the social component scales with the on-chain score, so a juiced X account on an empty wallet gets a tiny contribution.
- Gifted balance as skill: rank and payout are net trading profit only, so nobody buys their way up the board.
- Daily-reward and bot farming: expiring loaner entries, capped daily, with Daily Game winnings kept off the leaderboard entirely.
KOL ambassadors run on their own terms (uncapped invites, max balance via the card factory, TGE allocation, USDC ref fee), kept on the same gate or a separate budget line.
C ·Defaults
Most open items are closed with a working default — our call, easy to override.
Resolved defaults: starting balance $1,000–$16,000 (Wallet Score bracket + CT Score bonus, each on its own $1,000–$8,000 scale); card flex score is max(Wallet Score, CT Score), separate from the balance math; buy-ins $25–$3,000 with bots; Daily Games ramping 1 to 5 entries on a $100 loaner; activity gate one threshold of 50; rake 10%; referral commission 10%; social provider Wallchain; leaderboard public-ladder plus private-profit; 1v1 buy-in a free stake within the tiers.