How Gojo works
List a card. Pick a ticket count. Hatch a winner.
Gojo is a provably-fair lotto for Pokemon cards. Sellers list a card, buyers grab tickets 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 lottois a pool of tickets for one card. The seller sets a ticket count (10–1000) and a pricing multiple, which determines the ticket price. Buyers purchase tickets; once the lotto is full or its timer expires, a single winning ticket 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 lotto 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 lotto creation, then a background job refreshes every live lotto hourly so watchers always see a recent quote. For NFT lottos 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 lotto uses a commit-reveal scheme so no party — including Gojo — can manipulate the outcome after tickets 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 ticket (entry 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 lotto's/verifypage. Anyone can re-run the math and confirm the pre-committed hash matches.
For buyers
Buyer — physical card
- 1
Create an account
Sign in with email or Google on the home page. No wallet required for physical lottos. Add a saved card and default shipping address on /settings/shipping so wins confirm faster. - 2
Browse and pick a lotto
Lottos are listed at /. If a lotto is community-gated, the seller will share a password — enter it on the lotto page to unlock purchasing. - 3
Buy tickets
Pick one or more entry numbers on the grid and check out via Stripe. Every $1 earns 15 gems. Funds are held in escrow pending the draw. - 4
Wait for the draw
For timed lottos, the draw runs automatically at the end time. For unlimited lottos, it runs the moment the last ticket 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 lotto detail page. You have 30 days to confirm a shipping address; otherwise the lotto 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 lotto is canceled or disputed
Gojo refunds the full ticket price back to your original payment method via Stripe. Gems earned on refunded tickets are reversed.
For sellers
Seller — physical card
- 1
Set up your seller profile
At /settings/seller: brand name, ship-from address, default carrier. - 2
Complete Stripe Connect onboarding
Required before we can release funds to you. Gojo uses Stripe Connect so payouts land in your own Stripe account; Gojo only holds funds in escrow. - 3
Create a lotto
/create collects card title, set, rarity, 1–4 photos (uploaded to secure per-user storage), market value, ticket count, and pricing multiple. Optional community password gates entry to your Discord/FB group. - 4
Tickets sell; draw runs
You can watch tickets sell in real time on the lotto 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
When the dispute window closes without issues, an automated cron releases your net proceeds (gross sales minus the 2.5% platform fee) to your Stripe Connect account. Withdrawals to bank follow your Stripe payout schedule. - 8
If the win is abandoned
If the winner doesn't confirm within 30 days, all tickets auto-refund and the lotto is canceled. You aren't out any cards, but you're also not paid — nobody received the card.
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 lotto sells out.
- Seller net
- Gross sales minus the 2.5% platform fee. What the seller receives on success.
- Gems
- Loyalty points earned on every ticket purchase. 15 per USD. Redeem paths TBD.
- Escrow
- Funds held by Gojo between purchase and either seller payout (after delivery) or buyer refund (on cancel).
- 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.
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 lotto URL and a short description.