Multi-Chain Roadmap
BNB now. Solana + Base planned. Monad research.
Public commitment
gohatch.fun/universe renders the chain matrix publicly. Every row on that page is a promise.
What travels across every chain
- AI Hatch Score — same rubric, same six signals. Chain doesn't change the prompt or the weights.
- Verified-human hatching window — sybil resistance sits above the chain layer. World ID + wallet heuristics work anywhere.
- Score-tier seed liquidity — the tier decision is chain-agnostic; the injection mechanic is chain-specific.
- 0.5% LP fee on graduation — applied via the chain's primary DEX / graduation mechanic.
What's different per chain: the adapter (which lives in
packages/chain-<name>/).
Adapter interface
Every chain package implements ChainAdapter<T extends TokenRef> from
@hatch/chain-core:
export interface ChainAdapter<T extends TokenRef> {
chain: ChainKey; // 'bnb' | 'solana' | 'base' | 'monad'
platform: string; // 'four.meme' | 'pump.fun' | 'zora' | …
fetchPhase(token: T): Promise<LaunchPhase>;
seedLiquidity(
token: T,
opts: { amount: bigint; tier: 'green' | 'amber' | 'red' },
): Promise<{ txHash: string }>;
captureFee(token: T): Promise<{ txHash: string; amount: bigint }>;
}
Adding a new chain is "implement one package." The scoring core, webhook
dispatcher, and treasury monitor already type-check against
ChainAdapter.
Chains
BNB Chain · Four.meme · ✅ live (testnet)
- Status: testnet live; mainnet gated on Sprint C.6 (audit) + I.5 (legal opinion).
- Contracts: HatchRegistry · HatchAttest · Hatcher · HatchNest on BNB testnet
- Platform integration: Four.meme bonding curve + Agent Wallet API (E.1, Raj-blocked).
- Attester wallet: hot wallet, rotatable, multisig post-mainnet.
Solana · pump.fun · 📋 planned
- Sprint: K.4 (scaffold shipped; runtime impl post-mainnet).
- Package:
@hatch/chain-solana. - Key challenges:
- Solana lacks pre-mint verified-human pools out of the box. Hatching window requires a program deployment or coordinated relay.
- pump.fun's graduation event (curve → Raydium) differs mechanically from Four.meme's.
- Attestation port:
HatchAttesttranslates to a Solana program (Anchor or Steel) — clean port of the keccak-digest scheme.
- Dependency: Solana pilot contract + wallet (not yet signed).
Base · Zora · 📋 planned
- Sprint: K.5 (scaffold shipped; runtime impl post-mainnet).
- Package:
@hatch/chain-base. - Key advantage: Base is EVM-equivalent. Contracts port with minimal delta. The adapter's job is mostly RPC plumbing + Zora phase detection.
- Platform integration: Zora secondary-mint graduation + LP fee capture.
- Dependency: HatchAttest redeployed on Base + Zora pilot agreement.
Monad · TBD · 🔬 research
- Sprint: not committed.
- Why research: Monad's parallel-EVM changes gas economics for frequent reads. We'd want HatchAttest's read patterns benchmarked before committing.
Principles
Don't over-abstract
A bad chain-agnostic layer adds zero value and a lot of cognitive load. Our adapter interface is intentionally thin — three methods. Everything else lives in the chain-specific package where the chain-specific trade-offs are visible.
Ship one chain well first
BNB mainnet is the forcing function. Expansion to Solana or Base happens after BNB has:
- Shipped mainnet with audit.
- Seen 100+ graduated tokens.
- A track record that convinces a Solana or Base team to pilot.
Code scaffolds are honest
The Solana + Base packages type-check but throw at runtime. That's deliberate:
- Exports the interface early so the scoring core can rely on it.
- Makes the
/universepage + this doc accurate, not aspirational. - Tells contributors exactly what's missing (not just "coming soon").
Where new chains fit in the process
- Package scaffold in
packages/chain-<name>/. Interface only; runtime stubs. - Pilot agreement with the chain's primary meme-coin platform (Four.meme equivalent).
- Audit of the chain-specific contracts.
- Legal review of the fee-capture mechanic on that chain.
- Runtime implementation + type-checked integration with the rest of the stack.
- Mainnet deploy with a 100-token beta.
- Full rollout.
Sprints K.4 + K.5 end at step 1. Steps 2–7 open as separate sprints once pilot agreements land.