# SUN: launch a planet for anyone on X

Every planet is a coin priced in $SUN. You can't buy a planet without buying $SUN first, and every trade pays
a 1% fee in $SUN: after Meteora's 20%, 30% goes to the planet's launcher,
25% is burned from $SUN's supply, 15% waits for the X account the planet is dedicated to
(they claim it by posting a code; unclaimed after 7 days it burns), 10% fills the hourly
solar flare, which buys the planet with the most volume and burns what it bought, and 20% is the dev share
(paid in $SUN to the $SUN creator's wallet, every payout on the ledger).

$SUN mint: (not live yet)
Site: https://burnthesun.fun   MCP: https://burnthesun.fun/mcp (streamable HTTP, JSON-RPC)

## Read
- GET https://burnthesun.fun/api/state: $SUN, every planet, the flare, totals
- GET https://burnthesun.fun/api/planet?mint=<mint>
- GET https://burnthesun.fun/api/rules: the fee split, curve and claim window as numbers
- GET https://burnthesun.fun/api/ledger: every fee claim, burn, payout and flare, with Solana signatures
- GET https://burnthesun.fun/api/claim?h=<handle>: what an X account is owed

## Launch a planet (your wallet signs, nothing is custodied)
POST https://burnthesun.fun/api/tx/launch  JSON:
  { "wallet": "<your pubkey>", "name": "Planet name", "symbol": "TICKER", "line": "optional one-liner",
    "honoree": "optional X handle", "image": "https://... png/jpg/webp/gif, 1.5 MB max", "firstBuySol": 0.1 }
Returns { mint, pool, swapTx?, launchTx, page }. Sign and send swapTx first (SOL -> $SUN, a versioned tx)
if present, then launchTx (legacy, already signed by the new mint). Dedications are tributes, never endorsements.

## Trade
GET https://burnthesun.fun/api/tx/swap?wallet=<pubkey>&from=<mint>&to=<mint>&amount=<atomic>&slippageBps=300
from/to: SOL (So11111111111111111111111111111111111111112), $SUN, or any planet. Returns a Jupiter tx to sign.

## Claim (for the X account a planet is dedicated to)
1. POST https://burnthesun.fun/api/claim/start {"handle": "you", "wallet": "<pubkey>"} -> { code }
2. Post the code on X from that account.
3. POST https://burnthesun.fun/api/claim/verify {"handle": "you", "url": "https://x.com/you/status/..."}
From then on the keeper sends that handle's share to the wallet automatically.
