Design Dossier · Rev 3 · Published 2026
A restructure of the game around owned, mintable, customizable vessels — and an honest account of where the money comes from, where it goes, and what could sink it.
I built a working MMO that nobody played. This document is what I learned from that.
METROPHAGE is a server-authoritative multiplayer action-RPG running on Cloudflare Durable Objects and D1. Thirty enterable buildings, purchasable player housing, territory war, instanced dungeons, seasonal resets, a questline, anti-cheat, a full smoke-test battery. It deploys. It works. You can play it right now.
It never launched. Not because the technology failed — the technology is the part I'd stake my reputation on — but because I solved the wrong problem. I built a world with nothing at stake in it. Players arrived, saw a competent game, and left, because leaving cost them nothing and staying earned them nothing they could keep. The retention curve of a game with no ownership is a cliff, and no amount of content generation fills it.
Solana Seas is the same engine lineage pointed at the thing I got wrong. The server architecture carries over almost unchanged — it was never the problem. What changes is that the object the player invests in, the ship, is genuinely theirs: minted, upgradeable, customizable, transferable, and losable. That last word is doing the most work in this document.
Solana Seas is live in open beta at solanaseas.com — one shared 8,000-unit ocean, server-authoritative movement and combat, guest accounts, banking, chat, and Phantom wallet linking as an identity rail. Everything in this document builds on running code, not a proposal.
Plunder is fungible and losable. The ship is permanent and yours. Every design decision follows from that split.
The existing beta already runs the risk loop that makes this work: $PIRATES you're carrying is lost if you sink, so you must sail back to port and bank it. Greed is punished by distance. This is the best thing in the game and it survives the restructure untouched.
The restructure adds a second layer above it. Your hold is fungible, volatile, and at risk on every voyage. Your ship is an owned asset that accrues history, upgrades, and cosmetic identity across hundreds of voyages. You gamble the first to improve the second.
This split resolves the design tension that kills most NFT games. If the owned asset can be destroyed, nobody takes risks and the game becomes a museum of parked assets. If nothing can be lost, there are no stakes and the economy inflates until it dies. Splitting the two gives you real jeopardy every session and real permanence across sessions.
Five hull classes. One of them is free, forever, and always competitive enough to matter.
The free tier is not charity, it is the foundation of the whole structure. A game where you must buy in to play is a game with no players to sell to, and — as §09 covers — a much harder legal posture. Every account gets a Commissioned Sloop: not an NFT, not transferable, not sellable, and entirely sufficient to complete the core loop and earn.
| Class | Ownership | Guns | Hold | Component slots | Supply |
|---|---|---|---|---|---|
| Commissioned Sloop | Account-bound | 6 | 100 | 1 | Unlimited |
| Cutter | NFT · mintable | 10 | 180 | 3 | Uncapped mint |
| Brigantine | NFT · mintable | 18 | 320 | 4 | Uncapped mint |
| Frigate | NFT · mintable | 28 | 500 | 5 | Uncapped mint |
| Ship-of-the-Line | NFT · crafted only | 44 | 760 | 6 | Craft-gated |
| Named Hulls | NFT · earned only | 44+ | 760+ | 7 | 100 total, ever |
Note what is not for sale. The two highest classes cannot be minted with money at any price — a Ship-of-the-Line must be crafted from materials that only come out of high-tier play, and the hundred Named Hulls are awarded for in-game feats and nothing else. This is deliberate. The moment the top of the ladder is purchasable, the game becomes a leaderboard of wallets and every skilled player leaves.
Ships are Metaplex Core assets on Solana with a token-bound account holding equipped components, so a ship is a container that literally owns its parts rather than a JSON blob listing them. Equipping transfers the component into the ship's account; unequipping reverses it. This means a fully-fitted Frigate can be sold as one object, with everything aboard, in a single transaction — and it means the marketplace can price a ship by its contents without trusting our API.
Game state stays server-authoritative. The chain records ownership and configuration; it never records position, health, or combat outcomes. Any design that puts gameplay on-chain is a design that has never been played at 10Hz.
Five component classes, each an independent NFT, each with a visible silhouette change.
Customization that doesn't show on the water is bookkeeping. Every component in this system changes how the ship reads at distance, because the entire social value of owning a rare ship is other players recognizing it before you're in range.
| Component | Function | Visible effect | Source |
|---|---|---|---|
| Hull sheathing | Armor, weight | Waterline colour, trim metal | Craft · loot |
| Sail rig | Top speed, turn rate | Sail shape, cut, sigil field | Craft · mint |
| Armament | Damage, reload, arc | Gun ports, muzzle flash | Craft · loot |
| Figurehead | One passive ability | Bow silhouette | Boss drops only |
| Wheel & rigging | Ability cooldowns | Deck detail, lantern colour | Craft · mint |
Above the components sits a free cosmetic layer available to every player including free-tier: ship name, hull paint from a fixed palette, and a sail sigil chosen from a curated set. Player-uploaded sigil art is explicitly out of scope for launch — an unmoderated image channel painted across a shared world is a content-moderation liability I am not willing to carry at a two-person headcount.
Total stat spread between a free Commissioned Sloop and a fully-fitted Named Hull is capped at 1.9×, not the 5–10× typical of the genre. Beyond roughly 2×, skill stops deciding fights and the PvP layer — the thing that generates all the drama and most of the retention — becomes unplayable for anyone who didn't buy in.
Sinking costs you your hold, not your ship — unless you sailed somewhere that told you otherwise.
A ship moves through three states. The transitions are server-authoritative and the chain is only touched on the last one.
Normal operation. Hull damage repairs free at any port.
Hull reached zero. Cargo lost. Ship intact, speed halved until repaired for a $PIRATES fee.
Crippled again before repair. Ship unusable, components at risk, requires a full refit.
In ordinary waters, that is the whole story: you lose plunder and time, never the asset. This is what makes the game playable for someone who spent real money on a Frigate and would otherwise never leave the harbour.
Then there are the zones that pay properly. Blood Water is opt-in — you sail across a marked boundary, acknowledge a blocking confirmation, and the rules change. Plunder rates roughly triple. And a ship that founders in Blood Water can be boarded and claimed: the NFT transfers to the captain who took it, components and all.
This is the mechanic the entire economy stands on. It is the only genuine sink for high-tier ships, it creates the stories that make people watch and join, and it means a rare hull's price reflects the risk its owner is willing to take rather than pure scarcity. Every safeguard around it — the geographic boundary, the confirmation gate, the visible flag on every ship in the zone, the twelve-hour cooldown after a capture — exists so that nobody loses a ship they didn't knowingly wager.
Players will lose valuable assets in Blood Water. That is the design, it will generate angry messages, and softening it later would collapse the sink and inflate the economy. The correct response to that pressure is clearer warnings, never weaker consequences.
Every unit paid out is a unit somebody else put in. There is no yield here that isn't another player's spend.
Most play-to-earn economies die the same way: they mint rewards from nothing, growth outpaces sinks, and the token curve becomes a countdown. The only durable structure is a closed loop where payouts are funded by demand inside the game.
| Faucet | Funded by | Sink | Drains to |
|---|---|---|---|
| PvE plunder | Emission budget, decaying | Repair & refit fees | Burn |
| PvP capture | Loser's hold | Docking & banking fees | Burn |
| Charter income | Renter's payment | Component crafting | Burn |
| Salvage contracts | Contract poster's escrow | Marketplace rake | Treasury 5% |
| Shipwright fees | Customer's payment | Blood Water entry toll | Burn |
Only the first row is a true emission, and it decays on a fixed schedule toward zero over eight seasons. Everything else is player-to-player transfer with a rake. By season four the economy should be self-funding, with PvE plunder a starter subsidy rather than an income stream.
A ship owner who doesn't want to play tonight can list their vessel for charter. Another player sails it, keeps an agreed share of what they plunder, and the ship returns automatically at the end of the term. The owner earns from an asset they aren't using; the newcomer gets access to a Frigate without buying one.
This is the closest thing to yield in the system, and it's honest yield: it comes from a specific person choosing to pay for access, not from an emissions schedule. It also converts the game's biggest weakness — owned assets sitting idle — into its liquidity layer. Charter terms, splits, and escrow are enforced server-side with the NFT held in a program-controlled account for the duration.
At the base case of 5,000 monthly actives, a mid-tier NFT ship should return its mint price in roughly 6–9 weeks of regular play, and a charter arrangement should yield the owner materially less than playing themselves. If those numbers ever invert — if owning out-earns playing — the game has become a farm and the players who make it worth watching will leave.
Fixed supply, revoked mint authority, and a founder allocation that vests in public.
The founder and team allocation carries a six-month cliff and a twenty-four-month linear vest, enforced by an on-chain vesting program rather than a promise in a document. Sales from that allocation are capped at 5% of daily volume by a time-weighted schedule, and no sale occurs within seventy-two hours of an announcement. These constraints are published before launch, and they are constraints on me specifically.
I'll be direct about the reason. A founder who can dump into their own announcements will eventually be accused of it whether or not they do, and the accusation is fatal to a game whose whole proposition is that the assets are really yours. The vesting program exists to make the accusation checkable.
Ships go on-chain on devnet in P2 and stay there until counsel clears mainnet. Nothing in P0 or P1 touches a token.
| Phase | Ships | Delivers | Gate to exit |
|---|---|---|---|
| P0 · Now | Off-chain | Open beta, one ocean, PvE, banking | Retention past day 7 |
| P1 | Off-chain | PvP piracy, Blood Water zones, bounty board | PvP stable under load |
| P2 | Devnet NFT | Minting, components, chartering, marketplace | Full economy rehearsal, no real value |
| P3 | Mainnet | Token generation, real mints, live marketplace | Counsel sign-off — hard gate |
| P4 | Mainnet | Seasons, crafted hulls, Named Hull awards | Self-funding economy |
The sequencing is the point. P1 proves that people want to play this before anyone is asked to buy anything, and P2 runs the entire economy — mints, charters, captures, marketplace — on devnet with worthless tokens for a full season. If the economy breaks, it breaks where breaking is free.
Assets that earn are the highest-risk configuration in this entire industry. Designing around that has to happen now, not at P3.
A sellable NFT that generates income from the developer's ongoing work is, under the Howey framework, close to the centre of what a securities regulator looks for: money invested, in a common enterprise, with an expectation of profit derived from the efforts of others. I am not counsel and this document is not legal advice. What follows are the design decisions that exist specifically to move the product away from that centre, all of which are cheaper to build in now than to retrofit.
The chartering system in §06 is the weakest point of this posture — passive income to an owner from a renter's labour is uncomfortably close to a yield product, and it is the mechanic I would sacrifice first if counsel asks. The economy survives without it; the liquidity story is worse but the game is fine. This is flagged as a live question for P3 review, not a settled design.
| Risk | Severity | Mitigation |
|---|---|---|
| Securities classification of ships or token | Existential | §09 architecture; hard counsel gate at P3 |
| Disney / PotC intellectual property | Existential | Original world only; no marks, names, or score. Audit before every public asset ships |
| Economy inflates, token curve collapses | High | Decaying emissions; full devnet season at P2; Blood Water as asset sink |
| Pay-to-win drives out skilled players | High | 1.9× cap; top two hull classes unpurchasable |
| Nobody plays it — the METROPHAGE failure | High | P0/P1 must prove retention before any token work begins |
| Capture mechanic drives player backlash | Medium | Opt-in boundary, blocking confirmation, visible flags, cooldown |
| Two-person team, unbounded scope | Medium | Phase gates; engine reuse from METROPHAGE; asset pipeline already built |
The second row deserves emphasis because it is the one most likely to be treated casually. This is a pirate game in a genre defined by a Disney franchise, and every asset — art, audio, naming, marketing copy — must be original or licensed. A trailer scored with a soundtrack we don't own is not a shortcut, it is an unforced existential risk against a company with the best litigation department in entertainment.
None of it is on-chain work.
The order matters. I have already built one technically excellent game that nobody played, and the failure mode I am most exposed to is doing it again with a blockchain attached. Ownership makes a good game stickier. It does not make a game good.