arc tycoon
turn based game monopoly-like
by seijin88 · submitted Jun 1, 2026
Community votes
0
Voting opens when this submission reaches the Top 10 stage.
Overall score
—/ 100
Weighted average across the 5 judging criteria.
Description
01/03
What the builder said.
Written by the team, rendered as the markdown they typed in the submission wizard.
Arc Tycoon is a fully on-chain, trustless board game built on OPN Testnet — think Monopoly meets DeFi. Players stake CHIP tokens to enter a match, roll dice, buy properties, and collect rent, all enforced by smart contracts with no server or middleman. The first player to double the poorest player's net worth wins the stake pot. Cosmetic outfit NFTs give players a small luck boost on chance cards.
How its work
-
Getting CHIP The TestnetFaucet mints CHIP (an ERC-20) to any wallet that calls claim(), with a 1-hour cooldown. CHIP is the only currency used in the game.
-
Creating a Match Any player calls MatchFactory.createMatch(stakeAmount). This deploys a fresh isolated GameMatch contract. The factory emits a MatchCreated event so the UI can pick it up.
-
Joining 2–4 players call GameMatch.joinMatch(outfitTokenIds). Each player:
Transfers their CHIP stake into the contract (locked as the pot) Optionally equips up to 4 outfit NFTs (one per slot: Head, Body, Feet, Accessory) Gets a luck bonus (up to 5%) based on their equipped items, validated by CosmeticRegistry 4. Playing The host calls startMatch(). Each turn, the active player:
rollAndMove() — dice are rolled pseudo-randomly using block.prevrandao, player moves around the 16-tile board Lands on a property → can buyProperty(), or pays rent if someone else owns it Lands on a tax tile → pays a fixed fee Lands on a chance tile → luck stat influences whether they gain or lose cash Lands on jail tile → stuck for up to 3 turns (roll doubles to escape) endTurn() → moves to the next player Anyone can call skipTurn() if the current player goes idle for 90 seconds.
-
Richest-First Bet (Option A) After every action, the contract checks: does any active player have a net worth ≥ 2× the poorest active player? If yes, that player immediately wins the entire CHIP pot (minus a 5% treasury fee). The match then continues — players keep playing for board dominance.
-
Match End The match ends when:
Only one player remains (others went bankrupt), or The 30-minute deadline is hit (endByTimeout()), or A deadline is crossed mid-action The player with the highest net worth at the end wins any remaining pot.
- Web UI The React + Vite frontend connects via wagmi/viem, listens to on-chain events in real time using watchContractEvent, and replays the last ~5000 blocks when you load a match so you see the full history.
Roadmap
02/03
What ships next.
The builder's own next-quarter plan. Use it to gauge follow-through and ambition.
Phase 1 — Testnet Launch (current)
Core game loop on-chain (roll, move, buy, rent, bankrupt) CHIP ERC-20 staking and pot escrow Richest-first bet mechanic (Option A) Cosmetic outfit NFTs with luck stat Testnet faucet React + Vite web UI with live event feed Deployed on OPN Testnet Public playtest with community feedback
Phase 2 — Game Polish
Verifiable randomness — replace block.prevrandao dice rolls with Chainlink VRF or a commit-reveal scheme (current dice are manipulable by validators) Full 40-tile board — expand from 16 tiles to a proper Monopoly-style board with color groups, houses, hotels Property upgrades — buy houses/hotels to increase rent Trade system — player-to-player property trades mid-match More chance/community chest cards — expand beyond the current single luck-based card Mobile-responsive UI — current layout needs work on small screens
Phase 3 — NFT Ecosystem
Outfit minting UI — let players mint and equip outfits directly from the web app (currently admin-only) NFT marketplace integration — list/trade outfits on a secondary market Cosmetic variety — more slots, visual traits, rarity tiers Outfit previews on the board — show player avatars based on equipped NFTs Seasonal drops — limited edition outfits tied to events
Phase 4 — Competitive Layer
Match history & leaderboard — index past matches, track win rates and earnings on-chain Tournaments — TournamentFactory contract that brackets multiple matches with a shared prize pool Spectator mode — watch live matches without joining Replay system — reconstruct any past match from on-chain events ELO / ranking system — off-chain or hybrid ranking tied to wallet address
Phase 5 — Mainnet & Growth
Security audit — full audit of all contracts before any real-value deployment Mainnet deployment — launch on OPN mainnet once stable WalletConnect support — beyond injected wallet (MetaMask only right now) Multi-language UI — internationalization SDK / open match API — let third-party frontends create and join matches
On-chain proof
03/03
5 contracts on OPN Chain.
The chain itself confirmed every deployment is valid, signed by the builder's wallet, and inside the season's window.