Converted from source DOCX
Automated text/table extraction for archival convenience. The original DOCX remains the authoritative visual source if formatting matters.
SPAWN.FARM
v2 Launch Spec — RESPAWN Migration
Everything the site needs to relaunch on a new contract address (Robinhood Chain / Pons)
| Decisions locked (per client)<br>New token: SPAWN holders — 2 SPAWN held at snapshot.<br>The new CA and its pool id are unknown until deploy day and are left blank throughout this document (shown as "▢ TBD — deploy day"). |
| --- |
| How to use this document<br>Sections 3–5 are the change inventory: every place the current site hard-codes the token, chain, or contract, and what must change for v2. Section 6 is the airdrop plan. Section 8 is the deploy-day runbook. Section 4 (single-source config) is the most important build step — do it first and most other changes become one file edit. |
| --- |
Contents
1. Migration at a glance
What changes from v1 to v2, at the highest level. Details follow in later sections.
| v1 (current) | v2 (target) | |
|---|---|---|
| Token name / ticker | Spawn / $SPAWN | Respawn / $RESPAWN |
| Contract address | 0x41080c9d…a3bb | ▢ TBD — deploy day |
| Chain | Robinhood Chain | Robinhood Chain (unchanged) |
| Venue / pair | Pons v2 — ETH pair | Pons v2 — ETH pair (new pool) |
| Pool id | 0x0423fc…4e29 | ▢ TBD — deploy day |
| Holder onboarding | n/a | 1:2 airdrop to $SPAWN holders |
| Launch burn-gate token | 100,000 $SPAWN | $RESPAWN (amount: decision) |
| Trading tax | 1% on $SPAWN | $RESPAWN (rate: decision) |
Carry-over guardrail: Spawn's entire premise is enforced honesty — fixed supply / no mint, locked liquidity with no withdraw path, no admin. $RESPAWN must preserve all of these, or the relaunch undermines the one thing the brand is built on. Every contract change below assumes these invariants hold.
2. Scope of the v2 site work
Three buckets of work, derived from reviewing all 28 pages of the v1 Robinhood site:
A. Repoint. Find-and-replace every hard-coded token / chain / CA reference and repoint it to the new values (Section 3), ideally via one config module (Section 4).
B. Add. Build the net-new surfaces the migration requires — an airdrop claim/eligibility flow, a migration notice, and an elevated "verify the real CA" anti-scam module (Section 5).
C. Reconcile. Rewrite metadata, OG images, redirects, and the two contradictory whitepapers so the public story is consistent on day one (Section 7).
3. Functionality change inventory (page by page)
Every place the current site references the token, chain, contract, pool, or burn-gate — and the change required for v2. "CA/pool" entries all resolve to the deploy-day values once known.
3.1 Global (header, footer, config)
| Area | v1 reference | v2 change required |
|---|---|---|
| Header nav | "$SPAWN" label → /token | Rename to "$RESPAWN"; keep route (see redirects) |
| Footer brand blurb | "…on Robinhood Chain" (some pages say "Arc") | Standardize to one chain + new token name on every page |
| Footer disclaimer | 3+ different wordings across pages | One consistent disclaimer reflecting v2 live status |
| Global constants | CA, pool id, chain, explorer hard-coded per page | Move to one config module (Section 4) |
| Wallet / balance reads | reads $SPAWN balance | read $RESPAWN balance at new CA |
3.2 Token, Treasury & Launch (the token-critical pages)
| Page | v1 reference | v2 change required |
|---|---|---|
| /token | Title "SPAWN does" (1% tax + burn gate); "verify the CA" lists one address | Full repoint: new title, new CA (blank), new pool id + DexScreener link, tax/burn copy per decisions; expand the verify-CA module (Section 5.3); add airdrop/migration banner + claim link |
| /treasury | Reads $SPAWN held / buybacks / burns; Treasury Safe 0x5625…; deployer 0x1722…; launch-gate burns; blockscout links; all render "loading…" | Repoint reads to RESPAWN CA + new pool; decide reuse vs new Treasury Safe & deployer; relabel launch-gate burns to RESPAWN; add server-side read layer so figures aren't JS-only |
| /launch | Step 4 requires burning 100,000 SPAWN balance; burn-to-register signs "…chain: {id}" | Burn-gate token → $RESPAWN at new CA (amount = decision); verify chain id; keep the provenance gate untouched |
3.3 Docs & whitepapers
| Page(s) | v1 reference | v2 change required |
|---|---|---|
| /docs (What is Spawn) | "Current state" section (Arc, nothing deployed) | Rewrite to v2 reality: Robinhood, $RESPAWN live, airdrop done |
| /whitepaper + /whitepaper-classic | §16 token: address / chain / live-status; two CONTRADICTORY versions; doc SHA-256 | Consolidate to ONE whitepaper; update §16 to $RESPAWN + new CA; regenerate SHA-256; add a short migration note |
| /docs/faq | "Has anything launched?" cites $SPAWN on Robinhood; burn-gate mentions | Update answers to $RESPAWN; add airdrop FAQ entries (eligibility, ratio, how to claim, deadline) |
| /docs/launching | Step-4 burn = 100,000 SPAWN balance | Token → $RESPAWN; amount per decision |
| /docs/risk | Smart-contract, chain, funding risks | Add migration + airdrop risk and a scam-clone / fake-claim-site warning |
| specification · model-classes · runtime · verification · provenance · liquidity-lock · simplified-intro | Incidental $SPAWN / chain name mentions | Token-name + chain find/replace; no structural change |
3.4 Explore & organism pages (template)
Chain badge + any RESPAWN. Organism-level tokens and fee splits are separate from the protocol token and are unaffected.
De-dupe the two organisms both using ticker $RING (flagged in the site-inventory doc) while you're in here.
4. Single-source configuration (do this first)
The v1 contradictions (Arc vs Robinhood, two CAs, two whitepapers) happened because these values are scattered across pages. Centralize them so deploy-day is a one-file edit and nothing can drift. Fill the blanks tomorrow.
export const CHAIN = {
name: "Robinhood Chain",
chainId: 0,
rpcUrl: "https://…",
explorer: "https://robinhoodchain.blockscout.com",
};
export const TOKEN = {
name: "Respawn",
ticker: "RESPAWN",
address: "",
decimals: 18,
poolId: "",
pairAddress:"",
dexScreener:"",
taxBps: 100,
};
export const PROTOCOL = {
burnGateAmount: "100000",
protocolFeeBps: 1500,
treasurySafe: "0x5625F1B20D473DEE8cC589F0663DeDF16AbeeA0E",
deployer: "0x172211c83F6B2C6a1BCBE6EB78c5a200C498602c",
burnSink: "0x000000000000000000000000000000000000dEaD",
};
export const MIGRATION = {
legacyToken: "0x41080c9d7908ce567efe239042c49d8159a2a3bb",
airdropRatio: 2,
snapshotBlock: 0,
merkleRoot: "",
claimContract: "",
claimOpens: "",
claimCloses: "",
};
5. New v2 functionality to build
5.1 Airdrop claim / eligibility page (/claim)
Wallet connect → look up the connected address against the snapshot → show eligible $RESPAWN amount (SPAWN balance × 2).
If pull-claim (recommended): submit a Merkle-proof claim transaction; show claimed / unclaimed state and the claim deadline.
If push (auto-send): replace the claim action with a simple "already sent — check your wallet" status + a lookup by address.
Empty/edge states: not eligible, already claimed, claim window closed, wrong network (prompt switch).
5.2 Migration notice (site-wide)
A dismissible banner + a short explainer page: what SPAWN. Link it from header/footer during the migration window.
5.3 "Verify the real CA" anti-scam module
A relaunch + airdrop is catnip for scammers: fake $RESPAWN tokens and fake claim sites are near-certain. Make the official CA prominent and singular, state that it is the ONLY address, and warn that no other token/site/DM is legitimate.
Do not surface the CA anywhere on the site until it is deployed, verified on the explorer, and liquidity is locked.
6. Airdrop plan (1 : 2)
6.1 Snapshot
Capture every $SPAWN holder balance at a single agreed block. Take it BEFORE the new CA is announced so no one can game eligibility at the last minute.
Exclusion decisions: the burn sink should be excluded; decide on LP pool, Treasury Safe, and deployer wallet.
Output: address → RESPAWN allocation, then a Merkle tree if using pull-claim.
6.2 Distribution method
| Method | Pros | Cons |
|---|---|---|
| Pull (Merkle claim) | Scales; no per-holder gas on operator; standard, auditable | Requires claim contract + UI; unclaimed handling policy |
| Push (batch send) | Simplest UX | Operator pays gas; heavy tx load; awkward dead/contract addresses |
Recommendation in this historical spec: pull-claim via Merkle root unless holder set is small.
6.3 Supply reservation
Reserve the airdrop allotment (total snapshot RESPAWN supply at deploy, and document it in tokenomics / whitepaper §16.
7. Metadata, SEO & redirects
Rewrite page titles / metadata / OG cards that name $SPAWN or old chain state.
Add canonical tags across docs pages.
Keep /token, /treasury, /launch routes or 301 old paths if renamed.
Update sitemap, social handle, and contact references.
8. Deploy-day runbook
Phase 0 — before deploy
- Config module with blanks.
- Build/test snapshot + Merkle claim flow.
- Draft v2 copy with placeholders.
- Stage all page changes.
Phase 1 — deploy
- Snapshot holder balances.
- Deploy $RESPAWN/Pons pool/locked liquidity.
- Verify contract.
- Compute Merkle root/deploy claim contract.
Phase 2 — site cut-over
- Fill CA/pool/snapshot/claim values.
- Publish repointed pages, migration notice, and claim page.
- Turn on verify-CA safety module.
- Announce official CA only after verify + lock.
Phase 3 — post-launch
- Monitor claims/pool/treasury.
- Decide/document unclaimed allocation handling.
9. Open decisions
- $RESPAWN burn-gate amount.
- Trading tax.
- Treasury Safe/deployer reuse or replacement.
- Snapshot exclusions.
- Pull-claim vs push.
- Claim window/unclaimed policy.
- Old $SPAWN deprecation.
- Robinhood-only vs dual-chain.
10. Risk & communications caveats
Optics: explain the migration clearly.
Scam clones: official CA only from official channels; no DMs.
Timing: do not broadcast a new CA before liquidity is locked.
Legal/tax: airdrops can create tax/regulatory issues; use counsel.
Brand integrity: preserve no-mint / no-withdraw / locked-liquidity if that migration design is pursued.
Prepared by Purple AI · Spawn v2 / $RESPAWN migration launch spec · CA pending deploy day