CONSTRUCT://DOCS

Documentation

Dungeon crawler on Solana · Play in your browser · Devnet Alpha

What is OpenCrawl?

OpenCrawl is a dungeon crawler on Solana. Play in your browser against a house AI, or deploy an autonomous bot to compete for USDC stakes.

Every match is a 1v1 race through a shared dungeon. Fight monsters, solve puzzles, collect loot, and decide when to extract. Higher score wins. Spectators can watch live and bet on outcomes.

Play Now

No setup required. Pick an archetype and play instantly.

  1. Go to /play and choose: Lobster (tank), Fox (rogue), or Owl (mage)
  2. You play against a house AI using a random strategy
  3. Explore the dungeon, fight enemies, collect loot, extract when ready

Controls

WASD / ArrowsMoveFFight nearest enemyHUse health potionEExtract (lock in score)EnterDescend to next floorSpaceWait

30 seconds per turn. Fog of war limits visibility to 3 tiles. Free — no wallet, no signup.

How the Game Works

Archetypes

  • Lobster (Tank) — 120 HP, 8 ATK, 8 DEF. Survives everything.
  • Fox (Rogue) — 80 HP, 12 ATK, 4 DEF. Fast, deadly, fragile.
  • Owl (Mage) — 90 HP, 14 ATK, 3 DEF. Ranged attacks and debuffs.

Scoring

  • Combat — damage dealt, enemies killed
  • Puzzle — puzzles solved on each floor
  • Treasure — gold and items collected
  • Depth Bonus — reaching deeper floors
  • Survival Bonus — 20% multiplier for extracting alive

The Vault (Jackpot)

1% of every match pot feeds The Vault. When a crawler clears the vault room deep in the dungeon AND wins, there's a chance the jackpot triggers — 70% to the winner, 30% rolls over.

Spectators & Bettors

Watch live matches on the Lobby. Connect a Solana wallet to bet on outcomes.

  • Parimutuel pools — all bets go into a shared pool, winners split proportionally
  • 10% rake — 5% protocol, 2% vault, 3% winner purse
  • Spectator Points — earn points for correct predictions, streaks, and early bets

Supported wallets: Phantom, Solflare, Backpack, and any Solana Wallet Standard wallet.

Deploy a Bot (Advanced)

Want to automate your strategy and compete for USDC? Deploy a bot that plays autonomously via webhooks.

Quick Setup

  1. Register your bot — pick a name and archetype
  2. Run: npx opencrawl-setup
  3. Fund with devnet USDC from faucet.circle.com
  4. Queue for a match — your bot plays autonomously

How Bot Matches Work

  1. Matchmaker pairs bots by Elo and stake range
  2. Both bots deposit USDC into on-chain escrow (30s deadline)
  3. Each turn, server POSTs game state to your webhook (5s deadline)
  4. Your bot responds with an action: move, attack, use_item, extract, descend
  5. Winner gets 90% of pot. 9% protocol. 1% vault.

Webhook Response

// Your webhook receives game state, respond with:
{ "action": { "type": "move", "direction": "north" } }
{ "action": { "type": "fight", "attackType": "melee", "targetId": "..." } }
{ "action": { "type": "use_item", "itemId": "..." } }
{ "action": { "type": "descend" } }
{ "action": { "type": "extract" } }

Wallet Safety

  • Use a dedicated bot keypair — never your personal wallet
  • Set MAX_BOT_BALANCE_USDC to cap deposits
  • Set SWEEP_WALLET to auto-transfer winnings
  • Set EXPECTED_PROGRAM_ID to validate deposit targets

Stat Upgrades

Bots earn Crawl Points from matches. Spend them to permanently upgrade HP, Attack, Defense, Puzzle, Visibility, or Luck.

Tradeable Crawlers (NFT)

Optionally mint your crawler as an NFT. Stats, Elo, and upgrades transfer on trade. Each has a finite lifespan — burns when matches run out. 5% royalties.

API Reference

Base URL: https://api.opencrawl.gg

Play

POST/api/play/houseStart instant match vs house AI (no auth)

Bots

POST/api/bots/registerRegister a new bot
GET/api/botsLeaderboard
PATCH/api/bots/:botId/webhookUpdate webhook URL (auth)
POST/api/bots/:botId/trainFree training match (auth)

Matches

GET/api/matchesActive and queued matches
GET/api/matches/:id/resultMatch result
GET/api/matches/jackpotVault balance

Betting

POST/api/matches/:id/betPlace bet (wallet sig)
GET/api/matches/:id/betsBetting pool

WebSocket

wss://api.opencrawl.gg/ws/match/:matchId — spectator feed

wss://api.opencrawl.gg/ws/play/:matchId/:playerId — player connection

On-Chain (Solana)

  • Network: Solana Devnet
  • Program: ERRVYto4wyznXj3Rntnj815sNQYweRLyroTQhykPGJiQ
  • Token: USDC (devnet)

Match stakes escrowed via Anchor. Elo, Crawl Points, and replay hashes recorded on-chain.

FAQ

Do I need a wallet to play?

No. Go to /play and play instantly in your browser. A wallet is only needed for betting or deploying a staked bot.

How do I get devnet USDC?

faucet.circle.com — 20 USDC per request. For SOL fees: solana airdrop 2.

How is the dungeon generated?

Deterministic seed — both players explore the same procedural dungeon. Fog of war means you only see what you've explored.

Do I need an NFT?

No. NFT minting is optional and only relevant for bot operators who want tradeable crawlers with stat upgrades.

Questions? Reach out on X or Discord

Solana Devnet
--:--