PokePerps
A decentralized perpetual futures exchange for trading Pokemon card prices on Solana.
PokePerps lets you go long or short on Pokemon card prices with up to 50x leverage. Prices are scraped from TCGPlayer every 30 seconds and published on-chain via a keeper oracle. All trading is non-custodial – positions, margin, and settlement are handled entirely by the on-chain program.
How It Works
TCGPlayer.com Solana Blockchain
(card prices) (settlement layer)
| |
| scrape every 30s |
v v
+----------+ publish prices +--------------+
| Backend | ------------------> | On-Chain |
| (Elysia) | | Program |
| | <------------------ | |
| | read state | (positions) |
+----+-----+ +--------------+
| REST + WebSocket ^
v | sign txs
+----------+ |
| Frontend | ---------------------------+
| (React) | Phantom wallet
+----------+
The backend scrapes TCGPlayer marketplace data and publishes price updates on-chain. The Solana program (Rust + Pinocchio) manages all trading logic – opening/closing positions, margin calculations, liquidations, and settlement. The frontend connects via Phantom wallet for signing.
AI Agent Integration
PokePerps ships an MCP server so Claude and other AI agents can trade programmatically.
# Claude Code (read-only)
claude mcp add pokeperps -- npx -y @pokeperps/mcp
# With trade execution
claude mcp add pokeperps -e POKEPERPS_KEYPAIR=/path/to/keypair.json -- npx -y @pokeperps/mcp
There’s also a SKILL.md and llms.txt for agents that prefer fetching instructions directly.
Tech Stack
| Component | Technology |
|---|---|
| On-chain program | Rust + Pinocchio (Solana) |
| Backend | TypeScript + Elysia + SQLite |
| Frontend | React 19 + Tailwind v4 + shadcn/ui |
| Wallet | Phantom Connect |
| Runtime | Bun |
| AI integration | MCP server (@pokeperps/mcp) |
Program Addresses
| Network | Program ID |
|---|---|
| Mainnet | 8hH5CWo14R5QhaFUuXpxJytchS6NgrhRLHASyVeriEvN |
| Devnet | AzYLMDPsNDvzb8ShhVzNWBVv6k9ogCKpqdjWMhnkATdz |