The manual
TICKERWAR is a PvP arena on Solana. Two modes: token war (pick a memecoin, pump harder over a chosen window from 5 minutes to 24 hours) or SOL direction (UP vs DOWN, fixed 60-second round). Winner takes 95% of the pot, 5% goes to rake. No judges, no locked custody.
[ 01 ]What you can do
Token war
Pick a memecoin. Match someone who picked another. Whoever pumps harder over the chosen window takes 95% of both stakes
UP vs DOWN
Skip the token-picking, take a side on SOL. One opponent takes the opposite, 60s later Pyth oracle picks the winner
Spectator bets
Not playing? Bet SOL on the side you think wins. Pari-mutuel coefs shift live as the pool fills, cap 5 SOL per bet
Cancel + refund
No opponent in 30 min? Creator can cancel and walk with full stake
[ 02 ]Quick start
- Connect a Solana wallet (Phantom, Solflare, Backpack)
- Pick a mode in the create dialog. Tickers: choose a memecoin and round window. Direction: choose UP or DOWN on SOL, fixed 60s window
- Stake 0.01 to 1 SOL. Sign one tx, your SOL locks on the platform wallet until settle
- Wait or join. Either someone joins your open match, or you join theirs. Second deposit starts the timer
- Watch. Live charts (Tickers) or live Pyth price (Direction). When the window closes the resolver decides
- Get paid. Winner receives 95% of the pot. Tie refunds both stakes in full
[ 03 ]Match flow
Every match sits in one of five states:
Open flips to active the moment the second player signs. Active flips to settled after the chosen window. A precise per-match timer fires exactly at ended_at (no cron-lag), then the resolver pulls fresh prices and signs the payout tx.
Resolvers per mode
- Tickers (pump): snapshot of each token price at match start vs current price at settle (DexScreener / SolanaTracker). Higher % wins, tie refunds both
- Direction: snapshot of SOL/USD at match start (Pyth Hermes) vs current price at settle. Price up → long wins, price down → short wins, equal → tie refund
[ 04 ]Token requirements
Tickers-mode only. Direction-mode uses SOL exclusively.
- Listed on DexScreener, Solana mainnet
- ≥ $5,000 liquidity in the deepest pair
- Not SOL, USDC, USDT, or other stablecoins
- Non-zero current price
The liquidity floor blocks trivial manipulation. Moving an illiquid pair's price for an hour costs more than the typical pot.
[ 05 ]Cancel & refund
No challenger after 30 min on an open match? Creator hits Cancel on the match page, full stake comes back, zero rake.
- Window applies to open matches only. Once the second player joins, the match becomes active and cancel is gone. Both sides committed
- Refund signs automatically. Platform wallet sends an outbound transfer to the creator address
- Spectator bets on a cancelled match refund 1:1 to every bettor. No winners, no rake
[ 06 ]Edge cases
[ 07 ]Spectator betting
Every match page has a side pool for non-players. Stake SOL on either fighter while the match is open or active. Pools close the moment the resolver fires.
How a bet works
- Open the match page, scroll to the side pool, pick a side
- Enter SOL amount: min 0.001 SOL, max 5 SOL per bet. UI shows live projected payout from current pool sizes
- Sign one tx. SOL joins the side pool. Backend re-checks the match is still open: if it just closed, automatic refund
- When the match settles, winning pool pays out pari-mutuel (see section 08). Losing pool funds the payout
- Players of the match cannot bet on their own match
- Tie or cancellation: every bettor refunded 1:1
- Winning side has zero bets? Losing side also refunded, no orphan payout
- Hard cap 5 SOL per single bet. Stops one whale from collapsing the coef for everyone else on that side
[ 08 ]Coefficients & payout
Side pools are pari-mutuel. No fixed-odds engine, the coefficient on each side is just:
coef(side) = total_pool × (1 − spectator_rake) ÷ side_pool
Coefs drift live as new bets land. Early bets on the eventual winner pay more than late bets, when the crowd has already piled on.
Worked example
Pool A: 4 SOL · Pool B: 1 SOL · Total: 5 SOL · Rake 3% → 4.85 SOL distributable
If A wins: A bettors share 4.85 SOL pro-rata. Coef ≈ 1.21× (1.21 SOL back per 1 SOL bet on A)
If B wins: B bettors share 4.85 SOL pro-rata. Coef ≈ 4.85×. Underdog pays huge because the side was a minority
Spectator rake is 3%, split 50/50 between platform treasury and $WAR burn.
[ 09 ]Player profiles
Every wallet that touched a match has a public profile at /u/<wallet>. No login, no sign-up, an on-chain identity rendered from the database.
- Match history: every fight with opponent, tokens, stakes, result
- Win rate & volume: total matches, wins, losses, SOL staked, SOL won net
- Spectator history: every bet placed as spectator, which side, outcome (won / lost / refund / live), net SOL profit aggregated separately from the fighter stats
- Shareable identicon: unique colorful avatar derived from the wallet address, same one rendered next to a match
- Editable: handle, display name, bio, twitter and telegram links, custom avatar. Owner verifies via wallet signature
Roadmap: streaks, rivalries, leaderboard.
[ 10 ]Rake & splits
5% commission on every settled match. Half stays as treasury, half feeds the $WAR burn loop.
Spectator pools have a separate 3% rake on their total, same 50/50 split. See section 08.
[ 11 ]Holder discount
Hold ≥ $100 of the platform token, get −2% off the rake on your wins. Effective rake drops from 5% to 3%, winner share rises from 95% to 97% of the pot.
Until $WAR launches, the threshold reads your native SOL balance × current SOL/USD price. At ~$100/SOL that's roughly 1 SOL to unlock the discount
Once PVP_WAR_TOKEN_MINT is set in production, the threshold flips to $WAR balance × $WAR/USD. No UI change, no action required
One threshold, one discount. No tiers, no staking contract. Check runs on the winning wallet at settle time.
[ 12 ]$WAR tokenomics
$WAR is the native token of TICKERWAR. Two utilities: a deflationary burn loop fed by every settled match and spectator pool, plus the rake discount above the $100 threshold.
$WAR launches on pump.fun. Once the mint is live, the contract address appears here automatically along with copy and explorer links.
[1] Rake split per match
Every settled match takes 5% rake. Half routes to the platform treasury (ops, RPC, dev). Other half feeds the burn loop.
[2] Burn loop (inline, after every settle)
Burn slice accumulates on the platform wallet across matches. When the accumulated balance crosses 1 SOL, the next settle fires a burn tx inline. No weekly cron, no manual button.
$WAR doesn't exist yet. Burning SOL directly would just destroy SOL. No token to deflate, so burn-slice accumulates on the platform wallet as a reserve
First settle after TGE sweeps entire SOL reserve through Jupiter into $WAR at best market price, transfers to the incinerator. Each next match adds to burn-slice, fires when cross 1 SOL
Incinerator: 1nc1nerator11111111111111111111111111111111
[3] Holder discount
Wallets above the $100 threshold get −2% off rake on their wins. Pre-TGE counts SOL balance, post-TGE counts $WAR. Full details in section 11.
[4]Supply & launch
- Initial supply: fixed at TGE, zero ongoing emission
- Distribution: announced before TGE (community, team vesting, treasury, LP)
- Launch venue: pump.fun fair-launch. Mint address goes into PVP_WAR_TOKEN_MINT the moment the token graduates
- Burn transparency: every burn tx is on-chain, visible on Solscan. Public burn dashboard is on the roadmap
[5] Risks
- Auto-swap depends on Jupiter liquidity for $WAR. Thin liquidity means high price impact on burns. Platform can throttle swap size
- Burn trigger is platform-operated (backend call, not an on-chain program), so cadence can adjust with volume and RPC conditions
- $WAR is utility, not a security. No yield, no dividends. Value comes from supply burn plus in-product discount
[ 13 ]Trust model
TICKERWAR runs in custodial modefor v1. Deposits sit on the platform wallet during the match. Backend signs payouts after settle. On-chain Anchor escrow is on the roadmap. If this trust model isn't acceptable to you, wait for that release.
[ 14 ]Custodial mode in detail
One platform wallet receives both stakes and every spectator bet. The secret lives in backend env config, never exposed to client code. On settle, backend signs one tx paying the winner and treasury slice. Burn slice accumulates until the inline burn trigger in section 12.
Failure path: if a payout tx fails (RPC drop, batch limit), the match is marked failed. Cron retries on the next tick. If retries exhaust, an operator resolves manually within 24h.
[ 15 ]Anti-collusion
Same wallet can't take both sides of a match. Blocked at create + join. Players of a match also can't bet in its spectator pool. v1 ships with these hard checks. If sock-puppet traffic appears, extra gates can flip on: wallet-age threshold, recent on-chain volume, randomized matchmaking.
[ 16 ]Disclaimer
TICKERWAR is provided as-is, without warranty. Token prices are volatile and you may lose your entire stake. Participation is restricted in jurisdictions where this kind of activity is regulated or prohibited. By using TICKERWAR you confirm you are eligible under your local laws.
