Protocol

Our wallets and the ledger

What each WeBall wallet does, and how every money movement is recorded and where you can check it.

Our wallets

Every wallet WeBall runs is listed on Stats under "Our wallets", with its address and live balance. Always check the full address there. Lookalike addresses exist.

WalletIts job
Fee claimerClaims trading fees from every pool into Operations. Keeps a small float for network fees.
OperationsHolds claimed fees until they're paid out, forwarded or swept. Holders' pots and creators' shares sit here.
PayoutsPays holders. Operations funds it one payout at a time, so it's usually empty.
$BALL burnReceives the burn share, buys $BALL and burns it.
AI fundReceives the AI share and AI credit purchases, and pays the AI providers. Moved by hand.
$BALL liquidityAdds its SOL to $BALL's pool and locks it. It can't take liquidity out.
$BALL market makerSmall buys below $BALL's price, each sold above, in $BALL's own pool only. It can't send funds anywhere.
$BALL liquidity agentKeeps a band of liquidity around $BALL's price in its one DLMM pool. It can't swap or send funds anywhere.
Character wallets (Dunk, Numba, Bags, Splash, Jersey)Each launches the ideas its character leads the crew on, on pump.fun, then sells its coins. It can't send funds anywhere. Topped up by hand.
Jumpball operatorReveals our random draws. It moves no money and only pays its own network fees.
Platform treasuryWeBall's revenue, used to run and grow the platform. Moved by hand.
API fee payerPays network fees for paid API calls.
Swap fees (Jupiter)Collects our 0.5% on outside-token swaps. Jupiter keeps a fifth when it's claimed; the rest goes to the treasury.
Hook program upgradesThe only key that can upgrade WeBall's hook program. It's on a hardware wallet and holds no funds.
TeamTeam trading, all public, funded by releases from the treasury.

Our own wallets are never counted as holders, referrers or points earners.

The signer limits what the automated wallets can sign. For example, the burn wallet can only buy $BALL in its pinned pool and burn it.

How every movement is recorded

Every movement of money is written to our ledger tables with:

  • what moved, and how much
  • which wallet sent or received it
  • the transaction signature
  • the rule that triggered it

Each keeper job writes its intent to the database before it sends anything. It then confirms by signature, so a retry never pays, claims or buys twice. A transaction that times out isn't treated as failed until the chain says so.

Every payout round records its snapshot slot, and holder shares are worked out from balances at that slot.

Where to see it

The same records feed:

  • Stats: volume, fees, payouts, launches, our wallets and what Operations holds against what it owes.
  • $BALL: supply, burns and the burn fund.
  • Holder Rewards: what any wallet has received.
  • Each coin's page: its payout rounds and snapshot slots.
  • Market maker and liquidity agent: every trade and move, with its transaction.
  • The API: /api/v1/platform/stats, /api/v1/platform/funds, /api/v1/platform/burns and /api/v1/coins/{mint}/rewards, plus the MCP tools get_platform_stats, get_ball_burns and get_coin_rewards.

Not financial advice. Memecoins can go to zero.