{"totals":{"jobs":3,"ready":2,"pages":17,"posts":0,"images":16,"repos":0,"docs":0,"files":31,"running":0,"computeUsd":17.8},"working":[{"id":"r56xgpe4b","ca":"EgcvNJ8D1iy5Wi2LjA4xUE4n5LjVgYP6QqWaJE5cpump","chain":"solana","status":"working","stage":"build","stages":{"resolve":{"at":1791805832403,"ms":102},"scout":{"at":1791805832505,"ms":662285},"analyse":{"at":1791806494790,"ms":105699},"spec":{"at":1791806600489,"ms":374589},"build":{"at":1791806975078}},"created":1791805832402,"updated":1791806975081,"coin":{"ca":"EgcvNJ8D1iy5Wi2LjA4xUE4n5LjVgYP6QqWaJE5cpump","chain":"solana","name":"Cleave","symbol":"CLEAVE","description":"Every kill makes you bigger. Kneel 10 seconds to cash out your size.","image":"https://ipfs.io/ipfs/bafkreibkmf4uic5olngjpxcyq7qg74wlwvjij2ycrkpzi5or6vryff2mzq","logo":"/api/jobs/r56xgpe4b/logo","website":"https://playcleave.fun/","twitter":"https://x.com/playcleave","handle":"playcleave","telegram":"","discord":"","github":[],"docs":[],"apps":[],"mcap":3221,"price":0.00000322,"created":1791789987000,"pump":null,"sources":["terminal cache","DexScreener"]},"counts":{"pages":3,"posts":0,"images":3,"repos":0,"docs":0,"apis":0,"files":3},"spec":{"product":"A live browser sword arena: one swing kills, kills and shards make you bigger through twelve forms, and kneeling 10 seconds cashes your size out in SOL from a pot filled by the coin's creator fees, wi","kind":"game","name":"Cleave","screens":["Title (live arena behind, play card, ladder rail, ticker)","Arena HUD (playing)","Sheets: Out, Cashed out, Menu, How to play, Account","How it works + Ledger page (./docs and ./ledger, one page)"],"features":[{"name":"Live arena (fighters, swings, clashes, dash, shards, forms)","source":"stand-in","how":"The original's game server (wss /ws) is private. The clone's server.mjs runs its own authoritative 30-steps-a-second simulation in memory (sim.mjs) with the rules of the docs page; the browser talks to it by POST api/io ~15 times a second and predicts its own movement."},{"name":"House fighters","source":"stand-in","how":"Server bots keep 14 fighters in the arena (14 minus humans, never fewer than 6 bots). Same rules, they grow, never cash out. Seeded with spread-out sizes so leaderboard and feed are full at first paint."},{"name":"Twelve forms ladder with live payouts","source":"stand-in","how":"forms[] in config.json (names 1-2 from the original, 3-12 assumed); payout per rung computed from the live pot with the original's formula pot × maxSharePct/100 × min(1,size/fullSize)^curve, capped by maxPayoutSol."},{"name":"Pool, pot and reserve","source":"stand-in","how":"Every claim: feeBurnPct (2%) goes to burnDue, the rest to the reserve. Each second the reserve flows into the pot at potFillPctPerHour % of itself per hour; pot never above potMaxPct % of pool (pot + reserve). Whole lamports. Books: funded = pot + reserve + burnDue + owed + open + paid + burned; dri"},{"name":"Creator-fee claim, about once a minute","source":"stand-in","how":"Every claimEverySec (60 s) payer.claim(): builds the pump SDK call collectCoinCreatorFeeInstructions(CREATOR_WALLET, CREATOR_WALLET) (vault = PDA [\"creator-vault\", creator] of 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P on the curve, PDA [\"creator_vault\", creator] of pAMMBay6oceH9fJKBRHGP5D4bD4sWpmS"},{"name":"Cash-out by kneeling 10 s","source":"stand-in","how":"Hold 10 s kneeling (cashHoldSec) and survive: payout = min(maxPayoutSol, floor(pot × share(size))) + the player's kept balance, at least minCashoutSol (0.002). Pot is debited, amount goes to open, ledger row cashout; payer.pay() builds SystemProgram.transfer PAYMENT_WALLET → player's pasted address "},{"name":"Buy and burn","source":"stand-in","how":"2% of every claim gathers in burnDue. Each time burnDue ≥ burnMinSol (0.005 SOL): buy MINT with exactly that SOL (pump SDK buyInstructions on the curve, PumpSwap swap after migration), then burn exactly the tokens that buy brought in (createBurnCheckedInstruction, token program read from the mint's "},{"name":"Public ledger and top earners","source":"stand-in","how":"GET api/ledger, same shape as the original's /api/ledger (practice, pot, max, pool, players, rules, stats, forms, top, rows) plus dryRun and built[] (the 'would send …' lines). Rows come from the clone's books; seeded by replaying 6 hours of claims, cash-outs and burns through the same accounting co"},{"name":"Coin market data (price, market cap, 24 h volume, pair, migration state)","source":"real","how":"Server-side GET https://api.dexscreener.com/tokens/v1/solana/EgcvNJ8D1iy5Wi2LjA4xUE4n5LjVgYP6QqWaJE5cpump every 30 s (priceUsd, marketCap, volume.h24, liquidity.usd, dexId, pairAddress); GET https://frontend-api-v3.pump.fun/coins/<mint> every 120 s (creator, complete, pump_swap_pool). Feeds the fee "},{"name":"SOL price","source":"real","how":"Server-side GET https://lite-api.jup.ag/price/v3?ids=So11111111111111111111111111111111111111112 every 60 s, field usdPrice."},{"name":"Chain reads (mint, rent, balances)","source":"real","how":"Server-side JSON-RPC POST to RPC_URL (default https://api.mainnet-beta.solana.com): getTokenSupply(MINT) → decimals; getAccountInfo(MINT) → owner (token program); getMinimumBalanceForRentExemption(0); getBalance(target address) before each payout; getBalance(PAYMENT_WALLET) and vault balances when t"},{"name":"Coin address chip (CA, click to copy)","source":"real","how":"MINT from config.json (EgcvNJ8D1iy5Wi2LjA4xUE4n5LjVgYP6QqWaJE5cpump), sent in S.ca; click copies it."},{"name":"Guest identity and name + password accounts","source":"stand-in","how":"Guest pid = 32 hex chars made in the browser, kept in localStorage. POST api/account/register {pid,user,pass} and api/account/login {user,pass} against the clone's own store (data/state.json, scrypt hashes from node:crypto)."},{"name":"Payout address (pasted, no wallet connect)","source":"stand-in","how":"Text field validated as base58, 32-44 chars; stored per pid on the server and in localStorage cleave.addr. The original never connects a wallet, so the clone does not either."}],"look":{"bg":"#0b0908","surface":"#14100e","text":"#f4ede4","muted":"#85786e","accent":"#e5383b","fonts":["Cormorant","IBM Plex Sans","Chivo Mono"],"radius":"4px","logo":"raw/site/img/02.png"}},"hold":null,"via":{"x":true},"error":"","material":{"hasSite":true,"hasBundles":true,"hasX":false,"hasCode":false,"hasDocs":false,"pages":3,"posts":0,"repos":0,"docs":0,"images":3,"thin":false,"summary":"3 site pages, 0 posts, 0 repos, 0 docs pages, 3 pictures"},"waiting":0,"clone":{"state":"building","url":"/c/r56xgpe4b/"},"agents":[{"id":"resolve","role":"Resolver","state":"done","since":1791805832403,"ms":102,"text":"Cleave ($CLEAVE) via terminal cache + DexScreener"},{"id":"scout-x","role":"X scout","state":"done","since":1791805832505,"ms":2239,"text":"@playcleave: 0 posts, 0 pictures"},{"id":"scout-site","role":"Site scout","state":"done","since":1791805832507,"ms":150,"text":"3 pages, 3 pictures, 1 bundles"},{"id":"scout-github","role":"GitHub scout","state":"done","since":1791805834750,"ms":17,"text":"no code"},{"id":"scout-docs","role":"Docs scout","state":"done","since":1791805834767,"ms":0,"text":"no docs"},{"id":"site","role":"Site analyst","state":"done","since":1791806494791,"ms":96655,"text":""},{"id":"code","role":"Code analyst","state":"done","since":1791806494794,"ms":105695,"text":""},{"id":"architect","role":"Architect","state":"done","since":1791806600489,"ms":374587,"text":""},{"id":"builder","role":"Builder","state":"working","since":1791806975081}],"working":1}],"agents":[{"job":"r56xgpe4b","coin":"CLEAVE","id":"builder","role":"Builder","since":1791806975081}],"latest":{"id":"r56xgpe4b","ca":"EgcvNJ8D1iy5Wi2LjA4xUE4n5LjVgYP6QqWaJE5cpump","chain":"solana","status":"working","stage":"build","stages":{"resolve":{"at":1791805832403,"ms":102},"scout":{"at":1791805832505,"ms":662285},"analyse":{"at":1791806494790,"ms":105699},"spec":{"at":1791806600489,"ms":374589},"build":{"at":1791806975078}},"created":1791805832402,"updated":1791806975081,"coin":{"ca":"EgcvNJ8D1iy5Wi2LjA4xUE4n5LjVgYP6QqWaJE5cpump","chain":"solana","name":"Cleave","symbol":"CLEAVE","description":"Every kill makes you bigger. Kneel 10 seconds to cash out your size.","image":"https://ipfs.io/ipfs/bafkreibkmf4uic5olngjpxcyq7qg74wlwvjij2ycrkpzi5or6vryff2mzq","logo":"/api/jobs/r56xgpe4b/logo","website":"https://playcleave.fun/","twitter":"https://x.com/playcleave","handle":"playcleave","telegram":"","discord":"","github":[],"docs":[],"apps":[],"mcap":3221,"price":0.00000322,"created":1791789987000,"pump":null,"sources":["terminal cache","DexScreener"]},"counts":{"pages":3,"posts":0,"images":3,"repos":0,"docs":0,"apis":0,"files":3},"spec":{"product":"A live browser sword arena: one swing kills, kills and shards make you bigger through twelve forms, and kneeling 10 seconds cashes your size out in SOL from a pot filled by the coin's creator fees, wi","kind":"game","name":"Cleave","screens":["Title (live arena behind, play card, ladder rail, ticker)","Arena HUD (playing)","Sheets: Out, Cashed out, Menu, How to play, Account","How it works + Ledger page (./docs and ./ledger, one page)"],"features":[{"name":"Live arena (fighters, swings, clashes, dash, shards, forms)","source":"stand-in","how":"The original's game server (wss /ws) is private. The clone's server.mjs runs its own authoritative 30-steps-a-second simulation in memory (sim.mjs) with the rules of the docs page; the browser talks to it by POST api/io ~15 times a second and predicts its own movement."},{"name":"House fighters","source":"stand-in","how":"Server bots keep 14 fighters in the arena (14 minus humans, never fewer than 6 bots). Same rules, they grow, never cash out. Seeded with spread-out sizes so leaderboard and feed are full at first paint."},{"name":"Twelve forms ladder with live payouts","source":"stand-in","how":"forms[] in config.json (names 1-2 from the original, 3-12 assumed); payout per rung computed from the live pot with the original's formula pot × maxSharePct/100 × min(1,size/fullSize)^curve, capped by maxPayoutSol."},{"name":"Pool, pot and reserve","source":"stand-in","how":"Every claim: feeBurnPct (2%) goes to burnDue, the rest to the reserve. Each second the reserve flows into the pot at potFillPctPerHour % of itself per hour; pot never above potMaxPct % of pool (pot + reserve). Whole lamports. Books: funded = pot + reserve + burnDue + owed + open + paid + burned; dri"},{"name":"Creator-fee claim, about once a minute","source":"stand-in","how":"Every claimEverySec (60 s) payer.claim(): builds the pump SDK call collectCoinCreatorFeeInstructions(CREATOR_WALLET, CREATOR_WALLET) (vault = PDA [\"creator-vault\", creator] of 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P on the curve, PDA [\"creator_vault\", creator] of pAMMBay6oceH9fJKBRHGP5D4bD4sWpmS"},{"name":"Cash-out by kneeling 10 s","source":"stand-in","how":"Hold 10 s kneeling (cashHoldSec) and survive: payout = min(maxPayoutSol, floor(pot × share(size))) + the player's kept balance, at least minCashoutSol (0.002). Pot is debited, amount goes to open, ledger row cashout; payer.pay() builds SystemProgram.transfer PAYMENT_WALLET → player's pasted address "},{"name":"Buy and burn","source":"stand-in","how":"2% of every claim gathers in burnDue. Each time burnDue ≥ burnMinSol (0.005 SOL): buy MINT with exactly that SOL (pump SDK buyInstructions on the curve, PumpSwap swap after migration), then burn exactly the tokens that buy brought in (createBurnCheckedInstruction, token program read from the mint's "},{"name":"Public ledger and top earners","source":"stand-in","how":"GET api/ledger, same shape as the original's /api/ledger (practice, pot, max, pool, players, rules, stats, forms, top, rows) plus dryRun and built[] (the 'would send …' lines). Rows come from the clone's books; seeded by replaying 6 hours of claims, cash-outs and burns through the same accounting co"},{"name":"Coin market data (price, market cap, 24 h volume, pair, migration state)","source":"real","how":"Server-side GET https://api.dexscreener.com/tokens/v1/solana/EgcvNJ8D1iy5Wi2LjA4xUE4n5LjVgYP6QqWaJE5cpump every 30 s (priceUsd, marketCap, volume.h24, liquidity.usd, dexId, pairAddress); GET https://frontend-api-v3.pump.fun/coins/<mint> every 120 s (creator, complete, pump_swap_pool). Feeds the fee "},{"name":"SOL price","source":"real","how":"Server-side GET https://lite-api.jup.ag/price/v3?ids=So11111111111111111111111111111111111111112 every 60 s, field usdPrice."},{"name":"Chain reads (mint, rent, balances)","source":"real","how":"Server-side JSON-RPC POST to RPC_URL (default https://api.mainnet-beta.solana.com): getTokenSupply(MINT) → decimals; getAccountInfo(MINT) → owner (token program); getMinimumBalanceForRentExemption(0); getBalance(target address) before each payout; getBalance(PAYMENT_WALLET) and vault balances when t"},{"name":"Coin address chip (CA, click to copy)","source":"real","how":"MINT from config.json (EgcvNJ8D1iy5Wi2LjA4xUE4n5LjVgYP6QqWaJE5cpump), sent in S.ca; click copies it."},{"name":"Guest identity and name + password accounts","source":"stand-in","how":"Guest pid = 32 hex chars made in the browser, kept in localStorage. POST api/account/register {pid,user,pass} and api/account/login {user,pass} against the clone's own store (data/state.json, scrypt hashes from node:crypto)."},{"name":"Payout address (pasted, no wallet connect)","source":"stand-in","how":"Text field validated as base58, 32-44 chars; stored per pid on the server and in localStorage cleave.addr. The original never connects a wallet, so the clone does not either."}],"look":{"bg":"#0b0908","surface":"#14100e","text":"#f4ede4","muted":"#85786e","accent":"#e5383b","fonts":["Cormorant","IBM Plex Sans","Chivo Mono"],"radius":"4px","logo":"raw/site/img/02.png"}},"hold":null,"via":{"x":true},"error":"","material":{"hasSite":true,"hasBundles":true,"hasX":false,"hasCode":false,"hasDocs":false,"pages":3,"posts":0,"repos":0,"docs":0,"images":3,"thin":false,"summary":"3 site pages, 0 posts, 0 repos, 0 docs pages, 3 pictures"},"waiting":0,"clone":{"state":"building","url":"/c/r56xgpe4b/"},"agents":[{"id":"resolve","role":"Resolver","state":"done","since":1791805832403,"ms":102,"text":"Cleave ($CLEAVE) via terminal cache + DexScreener"},{"id":"scout-x","role":"X scout","state":"done","since":1791805832505,"ms":2239,"text":"@playcleave: 0 posts, 0 pictures"},{"id":"scout-site","role":"Site scout","state":"done","since":1791805832507,"ms":150,"text":"3 pages, 3 pictures, 1 bundles"},{"id":"scout-github","role":"GitHub scout","state":"done","since":1791805834750,"ms":17,"text":"no code"},{"id":"scout-docs","role":"Docs scout","state":"done","since":1791805834767,"ms":0,"text":"no docs"},{"id":"site","role":"Site analyst","state":"done","since":1791806494791,"ms":96655,"text":""},{"id":"code","role":"Code analyst","state":"done","since":1791806494794,"ms":105695,"text":""},{"id":"architect","role":"Architect","state":"done","since":1791806600489,"ms":374587,"text":""},{"id":"builder","role":"Builder","state":"working","since":1791806975081}],"working":1},"queue":{"account":"a2f2a5052","waiting":[],"busy":[{"id":"r56xgpe4b","stage":"build","since":1791806494790,"coin":{"name":"Cleave","symbol":"CLEAVE","logo":"/api/jobs/r56xgpe4b/logo"}}],"avgMs":1325973,"parallel":4,"max":12},"stages":["resolve","scout","analyse","spec","build","run","ready"]}