Play the One Piece Card Game
in a browser tab.
A tutorial that teaches by dealing you a hand, a bot to practise against, a real opponent with a clock on the other side, and a deck builder that knows what you may legally play. Every card, price and expansion comes from one public API.
No account needed to play the bot, run the tutorial, or take a seat at a friend’s table. Start with the 13-step tutorial.
Three ways to sit down
The engine is deterministic and pure — the same seed and the same actions give the same game, which is what lets a match replay from its log and lets the bot look ahead.
A tutorial that deals you a hand
It teaches by playing: at each step the board only accepts the move being taught, so you cannot get lost, and the cards are real cards off a real Bandai list.
- 13 steps
- Same hand every time
- No account
- Written, not generated
A bot, on a published decklist
Pick a deck and a difficulty and play a full game — DON!!, life, blocking, countering, triggers — on a board built from the printed playmat’s own zones.
- Easy, Normal or Hard
- Optional seed
- No account
Someone else, with a clock running
Queue for a mode, or send a link and let a friend take the seat without signing up. Chat sits beside the board. Polled rather than pushed, deliberately — that is what lets a player with no account hold a seat.
- four modes, one rated
- 12 min + 8s or 25 min + 15s
- Invites are unrated
A builder that knows the rules
Pick a leader and the pool narrows to what you can legally play. Copy limits count card numbers, not printings, so four copies spread across three arts are still four copies.
Legality is a four-way answer, not a tick
Standard rotates on 1 April, so “is this legal” depends on when you ask. The builder shows which of these your list is, on the day you ask, for the 2026–2027 season — and it says “we can’t check this card” rather than guessing in either direction.
- Standard legal
- Construction rules pass and every card is inside this season’s blocks.
- Legal in Extra
- A well-formed list holding a card that has rotated out. Not broken — a different format.
- Can’t verify
- Nothing has rotated, but a card’s Block Number is missing from our data. Neither a pass nor a fail.
- N issues
- A construction rule is broken — size, copies, colour, leader or language. The only one that is your bug.
- Search by colour, cost, power, trait, keyword, rules text, set, Block Number, format and rarity — or type the query out, cost:[1 TO 3] keyword:Blocker, and see exactly which of your terms were understood
- Choose the art on any card that has more than one. It changes the picture and the price, and it cannot change what the deck holds — the four-copy limit counts card numbers
- Describe a deck in a sentence and watch Claude draft the fifty. The cards that are illegal in your format are removed from its pool before it is shown one, so it cannot draft them
Lists go in and out as text
One qty × code line per card, leader
first — what the sims and tournament sheets take. Paste anything close to it and the importer
reports what it read, line by line, before you commit. It will not guess a card from a name.
1xOP16-080
4xOP09-086
4xOP09-093
4xOP09-096
4xOP09-099
2xOP16-102 Bandai’s featured decks, imported and then actually judged
We read every featured decklist Bandai publishes and kept the ones whose own numbers add up. Then we ran them through the same format check as your decks — which is how we found that most of them can no longer be played in Standard. Every card in them still resolves through the card API; only the lists are ours to hold.
Decks imported
99
of 103 published pages — 4 rejected because the source list does not sum to a legal deck
Standard legal today
47
judged against the 2026–2027 season, on the day you loaded this page
Legal in Extra only
52
well-formed lists holding at least one card that has rotated out
Colours covered
6
every colour in the game has a featured deck to start from
Learn it from the cards themselves
A card’s text tells you when an effect fires, what it needs and what it does — once you can see which part is which. /learn colours the printed text and then walks the turn, the zones and a single attack from declaration to damage.
A coach that has to look the card up
The coach carries no card list in its context. To name a card it has to query the catalog first and cite the code, and the results it gets back are labelled with whether they are legal in the format you asked about — so it can explain a rotated card without recommending one.
Everything else on /learn is counted from the catalog rather than written down: the cost curve of the whole pool, how many cards carry each keyword, how much of it has a Counter.
Asking the coach needs an account. Reading the rest of /learn does not.
The same deck can cost almost anything
Prices ride on the card object, so every list on the site knows what it is worth. The interesting part is that the number depends on a decision that changes nothing about how the deck plays.
Priced honestly or not at all
- A card we have no price for renders as $— and is left out of the total, which then says how many it left out
- Every deck compares what its own arts cost against the cheapest art of each card, and names the difference
- The builder deliberately shows no running total — a price ticking while you add cards turns deckbuilding into shopping
Published decks, and a meta page that admits what it doesn’t know
Any deck you build can be made public. Public decks can be upvoted and discussed, and the meta tab aggregates them into what people here are actually playing.
2 decks have been published
Sorted by trending, top or newest, each one readable card by card with its cost curve, its legality verdict and what it costs to buy.
No percentages under 12 decks
A share chart is a machine for making four data points look like a finding. Below 12 published decks, the meta tab renders counts and no percentages at all; above it, every bar carries a 95% interval, and the page says how wide the sample was either way.
Right now that means counts: there are 2 public decks.
None of this is scraped
Every card, every image, every price and every expansion on this site is one request away. There is no vendored catalog and no nightly scrape — the app is a client, and this page is the argument that a serious one is a weekend’s work.
- Cards, art, expansions and market prices come off one object, in both languages, with art variants modelled as separate printings of a shared card number
- The API key is server-side. The browser only ever talks to our own /api/cards/* proxy, which holds the key and caches the answers
- Two things the API cannot know — Bandai’s published Block Number reassignments, and how many people here are playing a card — so the catalog is mirrored into Postgres and those two are answered locally. Everything else it now sorts and filters itself
Two things we hold ourselves
Block Numbers, which are printed on the card but are not on the payload with Bandai’s published reassignments folded in — and which decide Standard legality from April 2026. And 99 decklists, because the API publishes no decklists at all. Neither is card data: the lists are card numbers and quantities, and every card in them still resolves through the API. Both files are written to be deleted the day they are not needed.
# One card: its printed text, its art, its set and its price.
curl -H "X-API-Key: rip_…" \
"https://service.rip.fun/api/v1/onepiece/cards/ST01-006?include=prices"
{
"success": true,
"data": {
"id": "ST01-006",
"name": "Tony Tony.Chopper",
"type": "Character",
"cost": "1",
"power": "1000",
"colors": ["Red"],
"subtypes": ["Animal", "Straw Hat Crew"],
"rules": ["[Blocker] (After your opponent declares an attack,
you may rest this card to make it the new target
of the attack.)"],
"expansion": { "id": "ST01", "name": "Straw Hat Crew" },
"pricing": { "currency": "USD", "market": …, "trend_7d": { … } }
}
}Pick a leader, or borrow one of Bandai’s.
Free, no install, and your lists are yours — export them to the standard text format any time.