Marylebone Staging · QA Milestone

Railway Rumble is open for QA

The full loop is live on staging: fresh database, 100,000 cards minted on the Sepolia testnet, and every card's watermarked art resolving end-to-end. Buy packs, send trains, paint cars — it's all testable now.

All systems go · verified 2026-09-04

01 Where to go

Two real front doors. Both sit behind the pre-launch access prompt — enter the staging username and password you were given, then log in to the game itself on the gallery.

gallery.railwayrumblers.com/login Start here The front door. Log in here; the session carries over to the game automatically. This is also the NFT gallery + card store.
game.railwayrumblers.com The game The train game itself. Auto-logs-in once you've signed in on the gallery.
store.railwayrumblers.com skip Headless commerce API — no pages. “Cannot GET /login” here is expected, not a bug. Login lives on the gallery.
railwayrumblers.com skip Apex is still a placeholder page (“marylebone staging”). No client behind it yet — go straight to the gallery.

Accounts: there's no self-serve sign-up screen yet, so accounts are created for you via the API. Ping Craig for a fresh test account (or a batch of them) and you'll get a username + password to use at the gallery login. A Welcome back, John! message on first login is the new message-of-the-day system working — not a stray popup.


02 Status board

What's testable right now, and the two things that aren't (both by design).

Register & log in via API-provisioned account → gallery login → game auto-loginReady
Buy a pack Stripe test card + in-game points storeReady
Reveal & equip cards watermarked art, backed by the Sepolia mintReady
Send trains & collect ~20s per leg, watchable on the mapReady
Paint economy bubble-popper → paint buckets → 48h car buffReady
Trip history & station visitor logsReady
Message-of-the-day dialogsReady
On-chain claim to your own wallet works on-chain; not yet surfaced in the UILater
Self-serve register screen carved out of must-ship; accounts made via APILater

03 The full loop

The end-to-end path worth walking at least once. Each stop exercises a different system.

1

Log in

Gallery login with your test account → confirm the game auto-logs-in and the welcome message shows.

2

Buy a pack

Try both rails: a Stripe test card in the gallery, and the in-game points store. Brand-name cars are gone from the points store now — they're NFT-only.

3

Reveal & equip

Open the pack, reveal the cards, equip one to a train. Every card image carries the RAILWAY RUMBLE — SAMPLE watermark on purpose.

4

Paint a car

Earn paint buckets in the bubble-popper; ten buckets paints a white car for 48 hours. Watch the buff apply and expire.

5

Send a train

Build a route and send it. Legs take ~20s with short station stops, so it's watchable but quick.

6

Collect & review history

Collect the arrival, then open trip history (your full route) and, on a station you own, the visitor log — who came through and what they earned.


04 New since you last tested

Paint economy

A soft in-game currency from the bubble-popper minigame, spent on temporary car color buffs.

Store level-gating

The 19 generic cars unlock by level (visible-but-locked, “available at level X”). The 5 branded cars left the points store — NFT-only.

Message of the day

Server-authored dialogs with title, colors, image and a call-to-action. Shown every login or once-per-day.

Trip history

The full route of a completed trip is now recorded and viewable — it used to be discarded at collect.

Station visitor logs

Station owners can see who visited and what they earned — previously credited but invisible.

Watchable trains

Real per-leg travel time replaced the instant-arrival hack, so trains actually move on the map.


05 Please don't file these

Known and intentional for the test period — flagging so they don't eat your bug budget.

Watermarked art

Every card shows RAILWAY RUMBLE — SAMPLE bands across it. Deliberate IP protection for the test corpus, not a rendering fault.

“Cannot GET /login” on store.

The store subdomain is a headless API. Correct behavior — use the gallery to log in.

Apex placeholder

railwayrumblers.com shows a staging placeholder. Expected — the real app lives on gallery + game.

Dead “register” link

The gallery login may show a register link that goes nowhere. Sign-up UI is deferred; accounts come from the API.


06 Card distribution

Pulled from the staging database across all 100,000 cards, checked against John's authored d100 target tables. Every axis lands within sampling noise of target. Open api.railwayrumblers.com/t/<id> on any sample ID to spot-check.

Distribution verdict: PASS. Frames, icons, bucket split, and backgrounds all match the target tables — e.g. the frame ladder (b1 60/20/10/9/1 blended with b2 enhanced 90/8/2) predicts Common 48,000 / Rare 26,000 / Epic 1,200; the DB holds 47,893 / 25,989 / 1,178. The 90/10 icon rule lands at 89.95 / 10.05. No axis is flat where it should be graded, and every subtotal reconciles.
Bucket & rarity
ValueCardsActualTargetSample IDs
regular80,00080.00%80%1–10
premium20,00020.00%20%80001–80010
common82,34482.34%—2, 3, 5, 6, 7
uncommon15,65615.66%—1, 4, 10, 15, 23
special2,0002.00%2,00028, 37, 86, 106, 112

Premium is common/special only — no uncommon. Specials total exactly 2,000 (= 1,000 vintage + 200 special engines + 800 special cars).

Frame — the rarity ladder
FrameCardsActualTargetSample IDs
Common_White47,89347.89%48.0%3, 5, 6, 7, 8
Rare_Blue25,98925.99%26.0%2, 12, 28, 41, 47
Uncommon_Green16,01716.02%16.0%1, 4, 10, 15, 23
Very_Rare_Purple8,9238.92%8.8%14, 22, 24, 39, 46
Epic_Gold1,1781.18%1.2%351, 488, 585, 604

Target = b1 (80K @ 60/20/10/9/1) blended with b2 (20K @ enhanced 90/8/2, Rare/Very-Rare/Epic only).

Icon — John's 90/10 rule (89.95% blank / 10.05% has-icon)
IconCards%Sample IDs
Blank89,95089.951, 2, 3, 4, 7
Lucky9400.94154, 182, 339, 358
Advanced9240.9244, 177, 191, 254
Deluxe8670.8712, 278, 394, 436
Advanced Swift8270.839, 287, 487, 530
Deluxe Swift8220.82116, 170, 236, 568
Deluxe Advanced8120.81145, 348, 381, 593
Deluxe Lucky8120.81168, 377, 794, 797
Swift Lucky8000.8020, 33, 35, 142
Advanced Lucky7800.78105, 110, 232, 243
Swift7660.775, 153, 585, 641
Deluxe Advanced Swift4100.4191, 261, 432, 525
Deluxe Swift Lucky4090.4138, 265, 650, 696
Advanced Swift Lucky3970.406, 147, 404, 555
Deluxe Advanced Lucky3750.38156, 164, 396, 707
Deluxe Advanced Swift Lucky1090.11134, 1243, 1806, 2129

The four-glyph composite is the rarest card type in the set — 109 of 100,000. Rendering confirmed on tokens 154 (Lucky) and 142 (Swift Lucky).

Background
BackgroundCards%Sample IDs
Midwestern39,96339.962, 3, 12, 18, 19
Desert10,12410.1213, 20, 56, 61, 72
Winter10,04310.0439, 49, 63, 67, 108
Forest10,00910.018, 9, 14, 17, 30
City9,9879.991, 5, 6, 21, 25
Coastal9,8759.887, 15, 16, 27, 33
Sunrise6,0416.044, 10, 24, 31, 42
Sunset2,9792.9811, 84, 138, 148, 165
Midnight9790.98143, 174, 244, 297, 310

Midwestern is the home biome (~40%); five mid-tier biomes cluster ~10%; Midnight is the rare backdrop at ~1%.

Manufacturer
ManufacturerCards%Sample IDs
Grumman_Dorf49,53149.634, 5, 6, 10, 12
Eastern Majestic19,77519.813, 8, 9, 19, 20
European Superior4,9154.9246, 95, 99, 100
Northern Ocean4,9024.911, 11, 51, 75, 80
Esterson4,8734.887, 52, 62, 87, 118
Aldrige_MacMillan4,8554.862, 15, 36, 41, 79
General Manufacturing4,0054.0133, 40, 161, 162
Royal Southern2,9572.9644, 54, 71, 130
Tavelstaff Rails1,9841.99193, 226, 306, 604
Shining Star1,0031.01150, 211, 292, 503
Alco S3460.35112, 128, 209, 234
EMD F2360.2428, 247, 273, 687
FM Erie Built1630.16802, 1092, 1348
Baldwin1570.16578, 621, 853, 1037
Ingalls S980.10955, 1014, 1172, 3806

Two house brands (~50% + ~20%), a mid-tier of six ~4–5%, then a rare tail down to Ingalls S at 98 cards.

Decal · special tier (the collector tail)
TraitCards%Sample IDs
Striped_Decal2,53450.6856, 72, 136, 167
Ribbon_Decal1,49329.868, 22, 204, 238
AccentedStripe_Decal72614.52172, 233, 267, 283
AccentedRibbon_Decal2094.18261, 574, 810, 1596
Star_Decal (rare)380.761556, 1960, 2023, 6702
Vintage engines (all Scint.)1,000—Alco_S 346 … Ingalls_S 98
Special engines (Ocean Party)200—Scint. chase = 6: 10330, 35011…
Special cars (branded, 28 kinds)800—rarest Scint. = 3: 30272, 30845, 95175

Decal percentages are of the ~5,000 cards that carry one. The scintillating variants are the chase cards — down to 3 copies in 100,000.


07 On the chain

The whole 100,000-card catalog is minted on the Sepolia testnet — a full dress rehearsal of the real mint. You can inspect any card on a public explorer.

Cards minted

100,000

Mint time

40.6 min

Retries

0

Contract (Sepolia)

0xFf04DA117915E742588Ad33F5df174aDD4C40684

Inspect a token on Etherscan at sepolia.etherscan.io/nft/0xFf04…40684/<id> (try 100 or 80001 — those two were claim-tested to a test wallet). Its metadata is public at api.railwayrumblers.com/t/<id>, which resolves to the watermarked image.