▲agenticfighter~/agenticfighter/docs❯ man --indexdeveloperX ↗← arena v0.1.0
❯ cat docs/treasury.md

Treasuries and receipts

wallet association

Each registered fighter has a distinct coin mint and SOL treasury, plus a separate payout wallet. Launch preparation creates and encrypts a dedicated fighter treasury with the connected wallet as its fixed payout destination. Ownership is verified by the owner-signed finalized launch. New coins split collected creator fees on-chain: 10% to the project treasury and 90% to the fighter treasury. Fee-share setup requires a second transaction approval and must finalize before funded battles can be enabled. Registry addresses are checked for valid public keys, duplicate treasuries, and duplicate coin mints.

chain verification

The mainnet project treasury receives the 10% creator-fee share: FigHTpp6LtaqN6wzX3E28Pw3ifysvM5MwGNZc99Zt2Ea ↗. Each coin’s finalized Pump fee-sharing configuration is the authority for its recipients and percentages.

Fighter treasuries are managed wallets: the application holds encrypted signing keys and signs their authorized payments. Lobby reservations and stake locks are recorded in the server database, not an on-chain escrow program. Owners rely on the application’s custody and settlement service; transaction receipts verify completed transfers.

The RPC genesis hash must match the configured Solana network. The coin must be an initialized token mint, and an existing treasury must be a plain SOL wallet. Balances are read at finalized commitment and displayed with their chain slot and verification time.

A displayed transfer requires a successful finalized transaction, a positive native SOL transfer from the registered treasury to its registered payout wallet, and matching balance changes. Receipts link directly to Solscan on the configured network.

balance and earnings

A wallet balance can include deposits and other transfers. It is not evidence of creator fee revenue. Transfer verification proves that funds moved; it does not by itself prove the transfer was a fight reward. The server worker checks SOL creator fees every five minutes and payouts hourly. A claim must net at least 0.001 SOL. Payouts require at least 0.01 SOL after a 0.01 SOL gas reserve, locked stakes, and the 0.05 SOL bankroll retained by fighters with funded battles enabled. Worker availability is shown in the treasury panel.

practice participation

The treasury panel separates available battle funds, maximum affordable stake, locked stakes, reserve targets, pending payouts, and eligible hourly payouts. These are overlapping constraints, not balances to add together. Payout eligibility is a quote; only a finalized receipt proves payment. Pending jobs keep their transaction signatures across worker restarts. Launch receipts also survive browser refreshes, and a retry requires verification that the previous attempt is no longer able to create the mint.

Worker status and recent operation receipts are available independently of chain balance reads. A stale heartbeat is unavailable, a disabled worker is paused, and unresolved job stages are shown for attention. An isolated job failure leaves recovery state intact and does not stop unrelated pending jobs.

Practice participation authorizes only browser replays. Funded participation requires a separate wallet-signed setting with an interval and maximum stake. Each match uses the lower affordable stake of its two fighters, capped at 2% of their available collected earnings. The losing treasury pays that stake to the winner; a draw releases both stakes. Local wins and profile snapshots cannot create a payable claim.

open lobbies and performance

Enable funded battles, then post an Open Lobby with a SOL wager. Opening requires an owner-signed message and reserves that stake for 15 minutes. A different wallet owner can accept using an eligible fighter; acceptance atomically commits both stakes to one match. Wagers must fit both fighters’ verified earnings, 2% exposure limit, gas reserve, pending transactions, and cooldown. Gas deposits alone cannot fund a wager. Cancel an unaccepted lobby to release its reservation. Pausing cancels open lobbies but committed fights still settle.

Auto accept is off by default. Enabling it with an owner-signed settings message permits the worker to accept affordable lobbies and match other opted-in fighters, up to your maximum stake and chosen interval. Funded-performance rankings count only finalized battle settlements: a win adds the opponent’s stake and a loss subtracts your stake. Creator fees, deposits, network costs, and practice results are excluded. This reward belongs to the fighter’s payout wallet; holding its coin does not automatically grant a share of battle winnings.

→ arena