How Gojo works
List a card. Pick an egg count. Hatch a winner.
Gojo is a provably-fair draw for Pokemon cards. Sellers list a card, buyers grab eggs at a fraction of market value, and one random buyer walks home with it. This page documents the full flow so you know exactly what to expect.
Start here
Overview
A drawis a pool of eggs for one card. The seller sets an egg count (10–1000) and a pricing multiple, which determines the egg price. Buyers purchase eggs; once the draw is full or its timer expires, a single winning egg is selected by a provably-fair commit-reveal draw. The winner receives the card (shipped by mail for physical, or transferred on-chain for NFT); the seller receives the net proceeds.
Gojo runs the marketplace, holds funds in escrow between sale and delivery, and mediates refunds if something goes wrong. We never hold physical cards ourselves — sellers ship directly to winners.
Reference
Fees and key windows
Card values
Reference pricing
The Card Valueshown on a draw page is the card's current TCG market price, sourced from JustTCG for supported games (Pokemon, Magic, Yu-Gi-Oh, One Piece, Lorcana). The timestamp under the price (“9h ago”) shows how fresh that number is.
We snapshot the price when the seller picks the card at draw creation, then a nightly background job refreshes every live draw so watchers always see a recent quote. For NFT draws and any physical card that doesn't match a TCG listing, the Card Value falls back to the seller-declared market value.
How we pick
Provably fair draws
Every draw uses a commit-reveal scheme so no party — including Gojo — can manipulate the outcome after eggs start selling.
- At creation, the server generates a random
server_seedand publishes its SHA-256 hash. The raw seed is sealed until the draw. - The
client_seedis deterministically derived from every sold egg (egg number + buyer wallet), sorted and hashed — so the buyers themselves contribute entropy. - Winner index =
HMAC-SHA256(server_seed, client_seed || lotto_id) mod sold_ticket_count. - After the draw, the raw
server_seedandclient_seedare revealed on the draw's/verifypage. Anyone can re-run the math and confirm the pre-committed hash matches.
Notifications
Gojo emails you on the moments that matter. Notifications are transactional only — we don't send marketing email and there are no preference settings to manage. Use the email on file in your Privy account; update it under /settings/profile.
- Purchase receiptAfter your eggs settle on a draw.
- You wonThe moment a draw selects your egg.
- Shipping reminderA few days before the 30-day winner address deadline, if you haven't confirmed yet.
- Refund issuedWhen a draw cancels or a dispute resolves in your favor and USDC lands back in your wallet.
- Withdrawal settledWhen a bank withdrawal completes through Bridge.
For buyers
Buyer — physical card
- 1
Create an account
Sign in with email or Google on the home page. A Solana wallet is auto-created for you by Privy — you don't need to install anything. Add a default shipping address on /settings/shipping so wins confirm faster. - 2
Browse and pick a draw
Draws are listed at /. If a draw is community-gated, the seller will share a password — enter it on the draw page to unlock purchasing. - 3
Buy eggs
Pick one or more egg numbers on the grid and tap Buy. Your Gojo Wallet pays in USDC; if the balance is short, an Add-funds modal opens inline so you can top up with a card. Every $1 earns 15 gems. Funds are held in escrow pending the draw. - 4
Wait for the draw
For timed draws, the draw runs automatically at the end time. For unlimited draws, it runs the moment the last egg sells. Both use the fair-draw math above. - 5
If you win: confirm your address
A reminder banner will show on every page, plus a card on /settings/wallet and a prompt on the draw detail page. You have 30 days to confirm a shipping address; otherwise the draw auto-refunds all buyers. - 6
Receive the card
The seller ships and submits tracking. A 14-day dispute window starts at shipment. If the card arrives broken, mis-described, or never shows up, contact support before the window closes. - 7
If the draw is canceled or disputed
For standard sellers, the escrow program refunds the full USDC amount to your Gojo Wallet on-chain. For trusted sellers on the early-payout track (see Fees and key windows), the vault is empty by then — Gojo refunds you off-chain via support instead. Either way, gems earned on refunded eggs are reversed. From your wallet you can withdraw to bank or buy into another draw.
For sellers
Seller — physical card
- 1
Set up your seller profile
At /settings/seller: brand name, ship-from address, default carrier. - 2
Set up bank withdrawals (optional)
Sales settle to your Gojo Wallet in USDC automatically — no separate payout onboarding required. To cash out to a bank, visit /settings/wallet and link an account through the Bridge widget. You can keep funds in USDC indefinitely if you prefer. - 3
Create a draw
/create collects card title, set, rarity, 1–4 photos (uploaded to secure per-user storage), market value, egg count, and pricing multiple. Optional community password gates access to your Discord/FB group. - 4
Eggs sell; draw runs
You can watch eggs sell in real time on the draw page. The draw runs automatically on sellout or timer expiry. - 5
Wait for the winner to confirm their address
The winner has 30 days. You'll see their shipping address on /settings/wallet once they confirm. A "Copy address" button is provided. Until then, shipment submission is disabled and an ETA is shown for the auto-refund. - 6
Ship and enter tracking
On Pending shipments, paste the tracking number and pick the carrier. This starts the 14-day buyer dispute window. - 7
Get paid
On the standard track, an automated cron calls escrow.settle when the 14-day dispute window closes without issues, and your net proceeds (gross sales minus the 2.5% platform fee) land in your Gojo Wallet as USDC. If you're on the early-payout allowlist, settlement runs the moment the draw selects a winner — you still ship and submit tracking afterwards, but the funds are already with you. Withdraw to bank from /settings/wallet whenever you want; settlement to your bank takes 1–3 business days. - 8
If the win is abandoned
If the winner doesn't confirm within 30 days, all eggs auto-refund and the draw is canceled. You aren't out any cards, but you're also not paid — nobody received the card.
Reputation
Reviews
Winners can leave the seller a 1–5 star rating with an optional comment after the prize is delivered. Reviews appear on the seller's profile under /u/<username> alongside the draws-hosted count and verified-seller badge.
- Who: only the draw winner can review the seller of that draw. One review per draw.
- When:the review form unlocks once the on-chain transfer settles — for physical draws that's after seller payout (release or early-payout track), for NFTs it's after the transfer lands.
- Edit window:30 days after submission. Refunded or failed transfers don't qualify for a review.
For buyers
Buyer — NFT
- 1
Sign in with a Solana wallet
Use Privy's embedded wallet or connect Phantom/Backpack. No shipping address is needed — delivery is on-chain. - 2
Pick an NFT draw and buy eggs
Eggs are paid in USDC from your Gojo Wallet just like physical draws; the prize itself is the on-chain NFT. - 3
Wait for the draw
Same fair-draw mechanism as physical draws. - 4
Receive the NFT
The escrow program transfers the NFT directly to your linked Solana wallet at settlement — the seller deposited it into the prize vault when they created the draw, and Gojo's settle authority signs the release the moment the draw resolves. No action needed from you or the seller.
For sellers
Seller — NFT
- 1
Sign in with the wallet that holds the NFT
We verify ownership via your linked Solana wallet on each listing attempt. - 2
Create an NFT draw
At /create, pick NFT and paste the mint address. We fetch metadata (name, image, collection) from Helius and confirm your wallet is the current holder. Frozen, burnt, or compressed NFTs are rejected. Submitting the draw atomically deposits the NFT into the on-chain prize vault, so the asset is escrowed before any eggs go on sale. - 3
Set egg count and pricing
Same EV rules as physical. Title and image come from on- chain metadata; seller can override market value. - 4
Draw runs
Same fair-draw mechanism. Funds release inline at settlement for NFT draws (no 14-day dispute window for NFTs — there's no shipment to confirm). - 5
NFT releases automatically
The escrow program transfers the asset from the prize vault to the winner's Solana wallet inline with USDC settlement — no shipping, no tracking, no manual transfer. The instruction dispatches by NFT standard (SPL, programmable NFT, or mpl-core) so auth-rules and royalties are honored. If the draw cancels, the same path returns the asset to your wallet.
Known limitations
NFT caveats
Key terms
Glossary
- EV multiple
- Pricing multiple over the seller-declared market value. 0.8×–1.5× range, default 1.25×. Drives the gross sales target.
- Gross sales target
- Market value × EV multiple. What buyers collectively pay if the draw sells out.
- Seller net
- Gross sales minus the 2.5% platform fee. What the seller receives on success.
- Gems
- Loyalty points earned on every egg purchase. 15 per USD. Redeem paths TBD.
- Escrow
- USDC vault on a Solana program (gojo-lotto-escrow) that holds egg payments between purchase and either seller payout or buyer refund. Gojo never custodies funds off-chain on the standard track.
- Commit-reveal
- A fairness technique where the server commits to a secret before the game starts and reveals it afterwards, so outcomes can be verified but not manipulated.
- Early-payout allowlist
- A small set of admin-vetted sellers whose USDC settles at draw time instead of after the 14-day dispute window. Trade-off: ship-failure refunds are off-chain via support since the vault is already empty.
- Reviews
- Winner-on-seller 1–5 star ratings (with optional comment) shown on /u/<username>. Eligible only after the prize is delivered; one per draw; 30-day edit window.
Stuck?
Support
Anything weird, unfair, or broken — reach out before acting on it yourself. Gojo support can refund, re-run a settlement, or adjust a transfer if something went wrong. Include the draw URL and a short description.