How Reflexive works
A Solana launchpad where every token launch creates a paired market on whether the token graduates before a fixed deadline. Every launch has a visible, tradable probability of graduation, and that probability shapes launch economics in bounded, predictable ways.
Overview
Launchpads like pump.fun tell you a token's price. They don't tell you how likely it is to make it. Reflexive adds that missing signal: a YES/NO market on one objective question, asked of every token.
Will this token reach its graduation threshold before the deadline?
Launch a token and get a live read on market confidence from minute one.
Hold the token, or take a view on its odds without holding the token at all.
Sees probability first, price second. The odds are the headline number.
Launch lifecycle
- 01Create
The creator sets name, ticker, description, logo and socials. One transaction creates the token mint, the launch account, the vault and the YES/NO market.
- 02Bond
The token trades on a bonding curve. Every buy adds SOL to the curve and moves the price up; every sell does the reverse.
- 03Predict
In parallel, traders buy YES or NO shares. The YES price is the market's probability of graduation.
- 04Resolve
The launch either hits the threshold (graduates) or the deadline passes. Nothing else decides the outcome.
- 05Claim
Winning shares are redeemed for 1 SOL each. Losing shares are worth 0.
Graduation
Graduation is objective and read straight from Solana state. In V1 the rules are fixed for every launch and cannot be changed after creation, not even by the creator:
| Graduation threshold | 85 SOL bonded |
| Deadline | 72 hours after launch |
| Creator controls over threshold or expiry | None |
| Oracle | None. Settlement reads launch state and timestamps only |
When the curve reaches the threshold, the token graduates and its liquidity moves to an open market (DEX).
Prediction markets
A prediction market lets you trade on the outcome of a future event. Each share pays 1 SOL if its outcome happens and 0 if it doesn't. That makes a share's price the crowd's estimate of the probability.
Before settlement you can sell your shares back at the current price, locking in a profit or cutting a loss as the odds move.
Holding the token and holding YES are different bets. The token pays off if its price rises; YES pays off only if it graduates in time. The app always shows them separately.
Pricing (LMSR)
Odds come from an automated market maker, the Logarithmic Market Scoring Rule (LMSR). There is no order book and no one setting prices by hand: the price is a function of how many YES and NO shares exist.
cost(qYes, qNo) = b · ln(e^(qYes/b) + e^(qNo/b)) P(YES) = 1 / (1 + e^((qNo − qYes)/b)) price of a trade = cost(after) − cost(before)
- b is the liquidity parameter. Bigger b means each trade moves the odds less.
- A fresh market starts at exactly 50/50.
- Buying YES always raises P(YES); buying NO always lowers it.
- The market maker's maximum loss is bounded by b · ln 2, so the pool can always pay winners.
- On-chain, all of this uses fixed-point integer math, never floating point.
Reflexive fees
Trading fees are split between the creator, the protocol and a reserve. The split depends on the market's current probability, in fixed bands. Higher confidence routes more to the creator, rewarding launches the market believes in. Belief feeds rewards, and rewards feed belief: that is the reflexive loop.
| YES probability | Creator | Protocol | Reserve |
|---|---|---|---|
| 0 – 30% | 10% | 70% | 20% |
| 30 – 70% | 25% | 50% | 25% |
| 70 – 100% | 30% | 45% | 25% |
- Every split sums to exactly 100% (10,000 basis points).
- Changes are capped per update, so the odds can't be pumped to swing fees in one trade.
- Probability changes where fees go. It never changes who owns funds.
Settlement & claims
- YES wins if the threshold is reached before the deadline. NO wins if the deadline passes first.
- Trading in the market stops at expiry.
- A resolver service settles markets automatically. If it is offline, anyone can trigger settlement after expiry.
- Early settlement and duplicate settlement are rejected.
- Each position can claim exactly once. Double claims are impossible.
Architecture
launch tx ──► launch · vault · mint · market · reflex accounts
│
▼ events (created, trade, graduated, settled, claimed)
indexer ──► Postgres read models ──► API ──► web app
▲
resolver ── scans expiries ── settles ─┘| Web app | Wallet-connected launch, market, profile and claim flows |
| API | Market reads and unsigned transaction builders |
| Indexer | Reads on-chain events and keeps read models up to date |
| Resolver | Detects expired markets and submits settlement |
| SDK | Typed client, instruction builders, shared math |
Smart contracts
The protocol is split into separate Anchor programs so each one owns a single job:
| Program | Owns | Does not own |
|---|---|---|
| launch_program | Launch lifecycle, graduation state | Market pricing |
| market_program | YES/NO pricing and positions | Token bonding |
| vault_program | Collateral, fees, claims | Probability |
| reflex_program | Fee split calculation | Custody |
| config_program | Global parameters, pause state | User funds |
Safety rules
- Funds sit in program-owned vaults. No custody shortcuts.
- The admin can pause the protocol but can never withdraw user funds.
- No creator controls over thresholds, deadlines or fee routing.
- No leverage, governance token, or subjective resolution in V1.
- If custody or settlement safety is ever uncertain, new launches and trades pause first.
Current status
| Token launches | Live on Solana mainnet via pump.fun, signed in Phantom |
| Token buys & sells | Live on mainnet via Phantom |
| YES/NO markets | Practice SOL. Uses the real pricing math, settles in-app |
| Reflexive fee routing | Shown in-app, not yet on-chain |
| Reflexive programs | In development. Mainnet after tests and audit |
FAQ
Is launching a token real?
Yes. It creates a real SPL token on Solana mainnet with SOL from your Phantom wallet. It can't be undone.
Can I lose real money on YES/NO bets?
Not yet. Bets use practice SOL until the on-chain market programs go live.
Who decides if a token graduated?
No one. It's read from the token's curve on-chain: threshold reached before the deadline, or not.
Why would a creator want this?
The market's confidence routes them a larger share of fees, and the odds are free marketing when they're high.
