Getting started

Introduction

JackPackz is a provably-fair booster-pack platform on Robinhood Chain. Pick a pack, rip it, and a fair on-chain roll drops a real tokenized asset — a stock or a Robinhood-chain meme — straight into your wallet. Non-custodial by design: every asset lives in your wallet, never ours.

Think trading-card booster packs, but every card you pull is a real ERC-20 token. Blue-chip stocks give you the floor; memes give you the moonshot. Rarity, upside and the jackpot are decided by verifiable randomness — no house-controlled outcomes.

One rip, a real asset

Every opening settles a genuine tokenized stock or meme to your wallet.

Non-custodial

Assets go straight to your wallet. JackPackz can't move, freeze or reclaim them.

Provably fair

Published odds + on-chain VRF. Anyone can verify every roll.

Routed on-chain

Best-price swaps across Robinhood Chain liquidity in one atomic transaction.

What ships today

The landing experience, wallet connection on Robinhood Chain, the full pack & collection catalog, and provably-fair reveal previews. On-chain minting via Uniswap v4 and the jackpot vault roll out as liquidity deepens — tracked in Contracts.

Who it's for

Degens who love ripping packs, collectors chasing the set, and anyone who wants exposure to tokenized stocks and Robinhood-chain memes without juggling ten swaps and ten tabs.

How this documentation is organised

Start with Quickstart to rip your first pack. Core concepts explains packs, cards, rarity, $JACKZ and the jackpot. Using JackPackz covers the day-to-day. On-chain documents the contracts and security model.

Getting started

Quickstart

From zero to your first pull in under a minute.

  1. Connect a wallet. Click Connect Wallet — Robinhood Wallet, MetaMask or Coinbase. The app adds Robinhood Chain automatically.
  2. Pick a pack. Browse the catalog — AI, Magnificent 7, CashCat's Meme Fortune and more. Each shows its published odds.
  3. Rip it. Pay in USDG. A provably-fair VRF roll selects your asset and swaps for it on-chain.
  4. Own it. A real tokenized asset settles to your wallet. Sell it anytime on any Robinhood Chain DEX.

Every rip also grows the shared jackpot vault — one lucky opening takes the pot.

Getting started

Connect a wallet

JackPackz uses standard EVM wallet connection (EIP-6963 multi-wallet discovery). Supported out of the box:

  • Robinhood Wallet — native to the chain.
  • MetaMask — the most common EVM wallet.
  • Coinbase Wallet — mobile & extension.

On connect, the app checks your network and, if needed, prompts you to add or switch to Robinhood Chain (chainId 4663) via wallet_addEthereumChain. No seed phrases, no custody — you approve each action in your own wallet.

JackPackz will never ask for your seed phrase or private key. Only ever sign transactions you understand.

Core concepts

What is a pack

A pack is a sealed, themed booster you buy — for example the AI Pack or Magnificent 7. Each pack draws from a curated pool of assets. When you rip it, a provably-fair roll reveals which card(s) you get, and the corresponding real token settles to your wallet.

Packs collapse what used to be ten tabs, ten swaps and ten fees into a single signed transaction: pick a pack → we route your USDG through Robinhood Chain's on-chain aggregator → the revealed asset lands in your wallet as a real ERC-20 token.

Core concepts

Packs vs cards

Two different objects — this trips people up, so it's worth being precise:

Pack

The sealed foil booster you buy. Themed (AI, Mag7, Meme…). Contains cards.

Card

What you pull from a pack. Each card = one real tokenized asset, with a rarity.

You buy packs; you collect cards. Complete a set of cards to earn collection rewards.

Core concepts

Rarity & odds

Every card has a rarity, and every pack publishes its weighted odds. The rarest assets are the hardest to pull — and the ones that flex hardest on the timeline.

LegendarySpaceX · NVIDIA · $JACKZ golden — ≈ 1%
EpicAMD · Tesla · VLAD — ≈ 5%
RareApple · Alphabet · WSB — ≈ 14%
CommonMicron · Amazon · Wojak — ≈ 80%

Holding & staking $JACKZ tilts these odds in your favour by tier.

Core concepts

The $JACKZ token

$JACKZ is the engine of the platform, not just a ticker. It powers the loop and shares the upside with the community.

  • Luck boost — stake to raise your rare-pull odds by tier.
  • Vault rake — stakers share pack fees and jackpot rake.
  • Pay-in discount — open packs with $JACKZ for a fee discount.
  • Exclusive drops — holder-gated limited seasonal boosters.

Contract address: soon — published here on launch.

Core concepts

The jackpot vault

Every pack you rip feeds a shared, non-custodial jackpot vault. It's locked in the smart contract — the team can't withdraw it. Someone has to win it, or it stays locked forever.

  • Every opening contributes a small amount to the vault.
  • 1 in 25,000 rips wins 90% of the pot.
  • The remaining rake is shared with $JACKZ stakers.

The vault balance and every payout are verifiable on-chain.

Using JackPackz

Opening a pack

  1. USDG in. Your payment enters the pack contract.
  2. Verifiable randomness. A provably-fair VRF draw selects your asset.
  3. Uniswap v4 swap. USDG swaps for the asset on-chain, best-price routed.
  4. Real ERC-20 minted. A tokenized stock or meme, Chainlink-priced.
  5. Settles to your wallet. The card is yours — self-custody, always.

The whole flow is one atomic transaction. If any step fails, nothing settles and you keep your USDG.

Using JackPackz

Amounts & fees

ItemDetail
Pack priceSet per pack, from $7.99 (see Pack themes).
House edge≈25% of the buy, split across jackpot, liquidity, $JACKZ buyback & burn and treasury — see Return-to-player.
Pay in $JACKZDiscount on the platform fee when paying with $JACKZ.
Swap costOn-chain DEX fee + gas, shown before you sign.

Exact numbers are always shown in the confirmation before you sign — no hidden fees.

Using JackPackz

Provably-fair reveals

Outcomes are decided by on-chain verifiable randomness (VRF), not a server the team controls. Each pack's odds are published up-front, and every roll produces an on-chain proof you can inspect.

reveal = VRF(seed, requestId) → weighted pick over published odds

Because the randomness is committed on-chain, neither the team nor a player can predict or alter the result. This is the trust core of JackPackz: the gamble is on which asset and what rarity — never on whether you receive a real asset at all.

Using JackPackz

Collections & sets

Cards belong to collections. Complete a portfolio to earn a badge, a bonus asset, and a free pack. Examples:

  • AI Collection — NVDA · AMD · INTC · MU → +$5 bonus, 1 free pack.
  • Magnificent Seven — the seven titans → +$10 bonus, 2 free packs.
  • Meme Legends — WSB · VLAD · ROCKET · CASHCAT · WOJAK → +$6 bonus.

Progress is tracked per wallet and settles rewards on completion.

Using JackPackz

Selling & redeeming

Because every card is a real ERC-20 token in your own wallet, you're never locked in. Sell any asset anytime — on JackPackz or on any Robinhood Chain DEX. There is no wrapper token, no vault, no manager holding your assets.

What you see in your wallet is what you own. JackPackz can't reclaim it.

Using JackPackz

Staking & luck boost

Stake $JACKZ to earn a share of platform fees and jackpot rake, and to unlock luck-boost tiers that raise your rare-pull odds. Higher tiers = better odds and bigger rake share. Staking, tiers and reward math are published at token launch.

Packs

Pack themes

Six curated boosters at launch — each a themed foil pack drawing from its own pool of assets.

AI Pack

AI Pack

3 assets · chips & agents
$9.99
Magnificent 7

Magnificent 7

10 stocks · market titans
$14.99
CashCat's Meme Fortune

CashCat's Meme Fortune

5 memes · pure degen
$12.99
Index Pack

Index Pack

7 stocks · the whole tape
$9.99
Dividend Kings

Dividend Kings

4 stocks · shareholder returns
$7.99
Future Tech

Future Tech

10 assets · next-gen growth
$11.99
Packs

Coming soon

Some packs go live as their underlying assets are tokenized / bridged onto Robinhood Chain. For example, Dividend Kings unlocks fully once KO, PG, JNJ and PEP hit the chain. New seasonal and limited packs (Earnings Season, Meme-stock revival, AI-bubble) drop over time — holder-gated for $JACKZ stakers.

On-chain

Robinhood Chain

JackPackz runs on Robinhood Chain, an Ethereum Layer-2 purpose-built for real-world assets and tokenized stocks. Key parameters:

FieldValue
Chain ID4663 (0x1237)
Native currencyETH
RPChttps://rpc.mainnet.chain.robinhood.com
Explorerrobinhoodchain.blockscout.com

JackPackz is an independent community project and is not affiliated with, endorsed by or operated by Robinhood Markets, Inc.

On-chain

Uniswap v4 routing

When you rip a pack, USDG is swapped for the revealed asset through Uniswap v4 pools on Robinhood Chain. Prices are read from live pools and Chainlink oracles. Routing finds the best price across available liquidity and executes atomically in the same transaction as the reveal — no inventory, no IOUs.

Under the hood

Architecture

JackPackz is two small pieces joined by a signed session: a static front-end and a stateless API. There is no monolith and no hidden server logic deciding your luck — the only state that exists is a database of users, openings and login nonces.

Front-end

A single self-contained HTML document — plain HTML, CSS and vanilla JavaScript, with every image inlined as a base64 / WebP data-URI. No framework runtime, no build step. It is served as static files from Vercel's edge network. Wallets are discovered through EIP-6963, the session is established with SIWE, and the resulting token is kept client-side.

Back-end

A Fastify API written in TypeScript (NodeNext ESM), running on Railway, talking to PostgreSQL through the Prisma ORM. Requests are stateless; the provably-fair engine, the catalog and the token model all live here as plain code you can read.

browser ──SIWE sign-in──▶ API ──▶ PostgreSQL browser ──/api/packs/open──▶ provably-fair engine ──▶ Opening row ──▶ reveal + proof

Configuration is entirely environment-driven (SIWE_DOMAIN, CORS_ORIGINS, DATABASE_URL, JWT_SECRET), so the same code runs locally and in production without edits.

Under the hood

Sign-in with your wallet

There are no passwords and no email. You log in by signing an EIP-4361 (Sign-In With Ethereum) message with your wallet — a plain text message, never a transaction.

  1. The browser lists your installed wallets via EIP-6963.
  2. GET /api/auth/nonce returns a fresh one-time nonce.
  3. The front-end builds the SIWE message: domain, your address, URI, Chain ID 4663, the nonce and an issued-at timestamp.
  4. Your wallet signs it with personal_sign.
  5. POST /api/auth/verify sends the message + signature back.
  6. The server recovers the signer's address from the signature, checks the domain matches, confirms the nonce is fresh and unused, then burns the nonce so it can never be replayed.
  7. It issues a 7-day JWT that the front-end stores and sends as Authorization: Bearer … on later calls.
We never see a seed phrase or a private key. A signature proves you control the address — it cannot move funds or approve tokens.
Under the hood

The provably-fair engine

Today JackPackz decides every drop with a commit-reveal HMAC scheme (described here); the production on-chain design upgrades this to VRF (see Provably-fair reveals). Either way, the property is the same: neither the team nor the player can secretly control the outcome, and every roll is re-checkable after the fact.

Inputs

InputWho sets itWhen it's known
serverSeedServer (32 random bytes)Secret until after the roll
serverSeedHashServer = SHA-256(serverSeed)Published before the roll
clientSeedYouAlways
nonceYour opening counterAlways

The roll

roll = HMAC_SHA256(key = serverSeed, msg = `${clientSeed}:${nonce}`) int = parseInt( roll.slice(0, 13), 16 ) // first 13 hex = 52 bits value = int / 16^13 // a float in [0, 1)

Picking the card

Each asset in the pack carries a rarity weight (Legendary 1, Epic 5, Rare 14, Common 80). The roll walks the weighted segments of the pack's pool and lands on exactly one asset:

target = value × Σ(weights) for each asset: target -= weight; if target < 0 → this is your card

Verifying it yourself

  1. After the roll the server reveals serverSeed at GET /api/verify/:id.
  2. Check SHA-256(serverSeed) === serverSeedHash — proves the seed wasn't swapped.
  3. Recompute the HMAC with the same clientSeed and nonce — it reproduces the exact same roll and the exact same card.
The gamble is only on which asset and what rarity — never on whether you receive something real. Odds are published up-front and a committed roll cannot be altered.
Under the hood

Odds & probability

Rarity tiers have fixed weights. A card's chance inside a given pack is simply its weight divided by the sum of all weights in that pack's pool — so the same rarity can be rarer or more common depending on what else the pack contains.

TierWeightBaseline share*
Legendary1≈1%
Epic5≈5%
Rare14≈14%
Common80≈80%

*Baseline assumes one card per tier; real per-pack odds depend on the pool.

Worked example — AI Pack (NVDA · Legendary 1, AMD · Epic 5, HYP · Common 80; Σ = 86):

P(NVDA) = 1/86 ≈ 1.16% P(AMD) = 5/86 ≈ 5.81% P(HYP) = 80/86 ≈ 93.02%
Widening a pool (we recently grew Magnificent 7, Future Tech and Index Pack) changes each card's exact probability, but never the tier weights themselves.
Using JackPackz

Return-to-player (RTP)

RTP is the share of a pack's price that a player receives back, on average, as real asset value. JackPackz targets an RTP of ≈75%. Every pack always settles a real on-chain asset — but the value that lands depends on the rarity you roll: most commons come back under the pack price, while rare pulls pay a multiple. Across many opens the weighted average converges on the target.

Payout multipliers

Each rarity pays a fixed multiple of the pack price. The multipliers are published and fixed in code, so the RTP is fully auditable — anyone can recompute it.

TierOddsPayout (× pack price)RTP contribution
Common≈80%×0.500.400
Rare≈14%×1.200.168
Epic≈5%×2.500.125
Legendary≈1%×6.000.060
Total RTP100%≈0.753
RTP = Σ ( tier_odds × tier_multiplier ) = .80×0.50 + .14×1.20 + .05×2.50 + .01×6.00 ≈ 0.753 → 75.3%

Where the house edge goes

The remaining ≈25% (the "house edge") is not a plain rake — it is recycled back into the ecosystem:

DestinationShare of edgePer $1 of pack
Jackpot vault40%10.0¢
Liquidity pool30%7.5¢
$JACKZ buyback & burn20%5.0¢
Project treasury10%2.5¢
RTP describes the value of a drop; it never touches the odds. Rarity weights (see Odds & probability) and payout multipliers are two independent, published tables — both verifiable, neither adjustable per individual player.

The RTP target, multipliers and edge split shown here are the launch configuration and may be tuned by governance; any change is published before it takes effect.

Using JackPackz

The opening flow

End to end, from tap to reveal:

  1. You pick a pack — the preview window opens (a wallet connection is requested first if needed).
  2. POST /api/packs/open { packId } is called with your JWT.
  3. The server loads (or creates) your serverSeed + hash, increments your nonce, computes the roll, picks the drop, and writes an Opening row storing the full proof.
  4. It returns the card, its rarity, the proof, and a verify link.
  5. The cinematic plays: charge → the pack rips → the asset flies out spinning → routes "on-chain" → settles into your portfolio.
  6. The drop appears in the public live feed (/api/feed) and on your dashboard (/api/me).
In the current demo the settlement animation is simulated; the production design routes a real swap into your wallet — see Settlement.
Under the hood

API reference

All JSON over HTTPS. CORS is restricted to the site's own origin; authenticated routes require the Authorization: Bearer <jwt> header.

MethodPathAuthPurpose
GET/healthLiveness check
GET/api/packsPack catalog + published odds
GET/api/auth/nonceIssue a one-time login nonce
POST/api/auth/verifyVerify SIWE signature → JWT
POST/api/packs/openJWTOpen a pack → drop + proof
GET/api/feedRecent public drops
GET/api/verify/:idFull re-checkable proof for one opening
GET/api/meJWTTotals, rarity breakdown, collection progress
GET/api/me/openingsJWTYour opening history
GET/api/token/statsTier table, XP table, burn & vault totals
GET/api/token/meJWTYour tier, XP and level
Under the hood

Data model

Three PostgreSQL tables (via Prisma). Every opening stores its complete proof, so any past roll stays independently verifiable forever.

TableFields
Userid · address (unique, lowercase) · clientSeed? · createdAt
Openingid · userId · packId · packName · cardSym · cardName · rarity · serverSeed · serverSeedHash · clientSeed · nonce · roll · createdAt
Nonceid · value (unique) · used · createdAt — one-time login nonces (replay protection)
On-chain

$JACKZ token mechanics

$JACKZ is an optional membership layer. Packs work fully without it, and holding it never changes pack odds — it only unlocks deterministic, pre-funded benefits based on your balance at the moment you open.

TierMin $JACKZDiscountAsset bonusXPPack Printer
Basic0
Bronze1,0002%+$0.051.1×1 / 24h
Silver10,0003%+$0.101.25×1 / 12h
Gold50,0005%+$0.201.5×1 / 6h
Diamond250,0007%+$0.301 / 2h

XP & levels

XP is awarded only after an opening settles — never for failed or refunded openings — and your tier multiplies every award. Base XP: Standard 100 · Premium 250 · Founder 500 · Black 1000. Levels: L2 at 500 XP, then +500 XP per level.

Burns & vaults

Each opening burns roughly $0.05 of $JACKZ for holders, sized live from an oracle rather than a fixed amount. A 1% token trading tax splits 50/50 into two USDG-funded vaults — the pack-rewards vault and the global jackpot.

The token is not live yet — every figure on the token page is illustrative, and the balance→tier read is stubbed to Basic until launch day.
On-chain

Settlement

JackPackz targets Robinhood Chain (Chain ID 4663), where the underlying assets are tokenized (ERC-20) stock and meme tokens priced by on-chain oracle feeds.

The production design routes each opening as a real swap through Uniswap v4 straight into your own wallet: no pre-minted inventory, no IOUs — you self-custody the exact asset that dropped. See Uniswap v4 routing.

Demo status: today the reveal and accounting run off-chain (the API above) and the swap is simulated. On-chain routing lands in Phase 3 — the provably-fair proof already works exactly as it will on-chain.
Security

Threat model

ThreatMitigation
Server rigs a rollCommit-reveal: the seed hash is published before, the seed is revealed after, and verifyRoll() re-checks both.
Replayed login signatureOne-time nonces, burned on use, with a 10-minute TTL.
Stolen session tokenJWT expires in 7 days and only proves identity — it can never move funds.
Cross-site API abuseCORS allow-list plus SIWE domain binding.
Odds tampering via tiersTier benefits never touch odds; weights are published and live in code.
Wallet-drainer confusionLogin is a message signature, never a transaction; a seed phrase is never requested.
What's next

Roadmap

  1. Phase 1 — done. Static site, provably-fair demo backend, wallet sign-in, dashboard, live feed.
  2. Phase 2 — now. Token page & membership model, expanded pack pools, full technical docs.
  3. Phase 3 — launch. Deploy $JACKZ, on-chain balance→tier, real Uniswap v4 settlement, burns & funded vaults, the Pack Printer.
  4. Later. Collection NFT badges, staking & luck boost, seasons & prestige.
On-chain

Contracts

Addresses are published here as they deploy. Until then they read soon.

ContractAddress
$JACKZ tokensoon
Pack contractsoon
Jackpot vaultsoon
USDGsoon
On-chain

Security

  • Self-custody — assets settle directly to your wallet; the app never holds keys.
  • Non-custodial jackpot — the vault is locked in-contract; the team cannot withdraw it.
  • Provably fair — outcomes use on-chain VRF with published odds.
  • No secrets in the client — all sensitive config is server/env-side; nothing private is hardcoded.

Always verify the contract address before interacting, and only sign transactions you understand.

Resources

FAQ

Do I always get something real?

Yes. Every rip settles a real tokenized asset to your wallet. The randomness decides which asset and what rarity — never whether you receive value at all.

Can the team rug the jackpot?

No. The vault is non-custodial and locked in the smart contract. It can only pay out to winners.

Can I sell what I pull?

Anytime — on JackPackz or any Robinhood Chain DEX. Your cards are standard ERC-20 tokens.

Is $JACKZ live?

Not yet — contract shows soon until launch. Utility (staking, luck boost, rake) ships with the token.

Resources

Risk & disclaimers

Opening packs involves chance and financial risk, including loss of principal. Digital assets are volatile and memecoins can go to zero. Nothing in this documentation is financial advice. Provably-fair gaming mechanics may be restricted in some jurisdictions — you are responsible for compliance with your local laws.

JackPackz is an independent, community-built application on Robinhood Chain (chainId 4663). "Robinhood" is a trademark of its respective owner, referenced only to identify the public blockchain network. It is not affiliated with, endorsed by, sponsored by or operated by Robinhood Markets, Inc.

© JackPackz · Docs · $JACKZ: soon · Built on Robinhood Chain (4663).