How to trade

Six steps, two wallet approvals total — everything in between is instant.

  1. 1

    Connect your wallet

    Click “Connect Wallet” (top right) and pick your wallet — Phantom, Solflare, anything Solana. Nothing is signed yet; connecting just shares your public address.

  2. 2

    Get devnet USDC

    Open the Vault → Add funds. “Get free devnet USDC” mints test money instantly (no signature), or “Buy with SOL” swaps devnet SOL for USDC in one atomic transaction (one signature). This is a devnet build — none of it is real money.

  3. 3

    Pick a side

    Click Yes or No on any market card (or open the market page for charts, live scores, and recent trades). Enter how much USDC to spend — you'll see exactly how many outcome tokens you'll get and the minimum you'll accept, enforced on-chain.

  4. 4

    One approval — then everything is instant

    Your first buy on a market asks for ONE wallet approval: it moves your USDC into the market's escrow and turns on 1-click trading. Every buy and sell after that confirms in about a second with no popups and no gas.

  5. 5

    Sell anytime, or hold to the end

    The pool is always the counterparty — sell part or all of your position whenever the price moves your way. Prices update with every trade; nothing is simulated.

  6. 6

    Withdraw your winnings

    When the match ends, the market settles against TxLINE's own on-chain oracle — not us. Winnings show up in your Vault as “ready to withdraw”; one approval sends them from the market's escrow straight to your wallet.

Under the hood (for the curious)

“One approval” sends a single transaction that mints a scoped MagicBlock session key (it can only call the swap instruction — the program rejects it on every funds-moving path), opens your position account, escrows your deposit in a program-owned vault, and delegates the accounts to an Ephemeral Rollup where trades confirm in ~1s with validator-sponsored fees. Withdrawals always require your wallet's signature. Settlement is a CPI into TxLINE's validate_stat against a Merkle proof of the real match stats — no admin key decides outcomes, and every settlement is verifiable from public RPC.

Want MEV-proof execution instead of continuous prices? See sealed-batch markets →