# Pump Karts

> A free browser kart racing game for phone and desktop: drive a shopping cart, a hamster tyre or a space hopper around an open world and race real players. Its coin is $KARTS on Solana, and race prizes are paid in $KARTS.

This page is for AI agents and anyone checking what the game says about its coin. The game itself is a 3D canvas with no text a script can read, so everything checkable is written out here, with links to check it on chain.

## Official links

- Game: https://pumpkarts.io/
- X: https://x.com/PumpKart
- Payouts page (every prize, with its Solscan link): https://pumpkarts.io/payouts
- Payouts data, JSON, no login: https://pumpkarts.io/api/payouts

## The coin

- Contract address (mint): `9JZQxrXkxp2EroNZHVgiU4ZvGvDtm7LJ1kHbWS8hpump`
  - Solscan: https://solscan.io/token/9JZQxrXkxp2EroNZHVgiU4ZvGvDtm7LJ1kHbWS8hpump
  - pump.fun: https://pump.fun/coin/9JZQxrXkxp2EroNZHVgiU4ZvGvDtm7LJ1kHbWS8hpump
- Creator wallet, which is also the prize pot wallet: `3mU7ZJWuzKjhZYVjZFRtPmUSpeBTyq1i4zZ6c4nikH9U`
  - Solscan: https://solscan.io/account/3mU7ZJWuzKjhZYVjZFRtPmUSpeBTyq1i4zZ6c4nikH9U

## How to check the prizes

- The coin was made on pump.fun by the creator wallet above, so pump.fun pays the coin's creator fees to that wallet. The game collects them every few minutes, and those fees are what pays race prizes.
- Every payout is one transaction from the creator wallet that buys $KARTS (on pump.fun's curve, or PumpSwap once the coin graduates) and, in the same transaction, sends what it bought to the winners' wallets. A memo on it names the race and place, like `pumpkart r8f3a91c2 1st`. So the creator wallet buying $KARTS is a prize being paid: follow the same transaction and every token it bought goes to players. The game's code has no sell.
- The payouts data lists the latest payouts, newest first. Each has `at` (ms since 1970), `name` (the driver), `amount` (whole $KARTS), `what` (the race and place), `memo` and `tx`, the transaction's signature: https://solscan.io/tx/<tx>. `paidToday` and `paidAllTime` are in whole $KARTS.
- The Prize pot figure (`pot` in the data) is the prize money ready to pay, in $KARTS at today's price. It is not the wallet's full SOL balance.

## Connecting a wallet

- Connecting your own wallet (Phantom, Solflare) is Sign-In With Solana: the wallet writes the sign-in message itself, naming this site (`pumpkarts.io`), a one-time code and a 10-minute expiry, and checks that the page asking really is this site. The server refuses a sign-in that names any other site, so a copycat page can't borrow it. That is all it asks: never a transaction, never a token approval, never to send anything. The message (wallets may order the lines a little differently):

  > pumpkarts.io wants you to sign in with your Solana account:
  > <your wallet address>
  >
  > Link this wallet to your Pump Karts driver <driver name>. Signing in sends nothing and costs nothing.
  >
  > Nonce: <one-time code>
  > Issued At: <now>
  > Expiration Time: <in 10 minutes>

- A wallet holding at least 50,000 $KARTS gets a Driver's License: its races can win $KARTS prizes. The server only reads the balance. Nothing is locked, staked or moved.
- For players who won't connect a wallet, the game can make one in the browser instead (the game wallet). Its private key is kept in that browser's storage only, never sent to the server; the player puts SOL or $KARTS in it and takes it out to any address, each withdrawal signed in the browser. Clearing the browser loses it unless the key was exported.
- Buying $KARTS happens on pump.fun itself, never inside the game.

## The page itself

- One page and one WebSocket to this same server (`/ws`). Fonts, sounds and pictures come from this server too: no third-party scripts, trackers or ads.
