← Back to search

BALATRO SEARCH / GUIDE

Query language

A query describes what must appear in a seed and when it must appear. The browser and native CLI understand the same language.

Visual and advanced editing

Visual mode browses Jokers, Standard cards, Tarot, unlocked Planet, Spectral, boosters, Tags, Vouchers, and Bosses. Standard cards expose their supported properties; pack families distinguish global visible pack numbers from kind-specific pack numbers. Generated text is still checked by the native compiler.

Use Advanced mode for special options, deeper Boolean nesting, or direct query text. Planet X, Ceres, and Eris remain unavailable because they require run-discovery state.

Copy the canonical query directly, or copy a self-contained link for the exact search. Any browser restores its query and settings; a matching local completed result also restores without rerunning. Reported seeds can be copied individually, and a finished run can be downloaded as local JSON.

Searches default to one million samples and 10 reported seeds. Set Start sample to skip a known interval; the sample count is limited only by the browser's exact integer range. Stop once found stops new packages at the requested report target; already running packages finish. The next Search resumes at the exact first unsearched sample.

Start with one thing

Write the kind of thing you want, followed by its name:

joker:blueprint

Add fields to narrow the search. This asks for Blueprint in a Buffoon Pack by the end of ante 2:

joker:blueprint source:buffoon by:2

Names with spaces use hyphens:

boss:the-hook at:1

Example queries

Tag and voucher

Find a seed where the first skip in ante 1 gives the Coupon Tag and Retcon is available by ante 6:

tag:coupon skip:1 at:1 and voucher:retcon by:6

Standard card

Find a Gold King with a Red Seal in the first four visible Standard Packs by the end of ante 2:

card:king enhancement:gold seal:red source:standard by:2 pack:4

Categories and counts

Find at least two Rare Jokers in the first four Buffoon Packs:

cat:rare source:buffoon by:2 pack:4 atleast:2

Pack options and boosters

Find Judgement as a visible option, or a Mega Buffoon booster:

tarot:judgement by:2 pack:4 or booster:mega-buffoon by:2 pack:4

Several Jokers

Find Blueprint and Brainstorm in separate Buffoon Packs by the end of ante 2:

all(joker:blueprint,joker:brainstorm) source:buffoon by:2 pick:distinct-pack

Plain language

Common searches can also be written in a more conversational form:

boss the hook at ante 1
card gold king red seal by ante 2 in standard pack
observatory by ante 4

Explicit fields are recommended for saved or complex queries because their meaning is visible and unambiguous.

Combine requirements

Use and when every part must match and or when either part may match:

joker:blueprint source:shop by:2 and voucher:retcon by:6

joker:blueprint source:buffoon by:2 or joker:brainstorm source:buffoon by:2

and binds more tightly than or. Use parentheses when the grouping matters:

(joker:blueprint source:buffoon by:2
 or joker:brainstorm source:buffoon by:2)
and voucher:retcon by:6

any(...) is a shorter form of or. all(...) requires every listed item:

any(joker:blueprint,joker:brainstorm) source:buffoon by:2

all(joker:blueprint,joker:brainstorm) source:buffoon by:2

Each normal leaf means “at least one matching occurrence exists in this window.” Requirements joined with and do not automatically refer to the same ante, pack, or shop.

What can be searched

Search forStart withAvailable fields
Joker identity/categoryjoker:<name> or cat:<rarity>edition, sticker, source, ante range, shop, shopwindow, pack, kindpack, atleast, pick
Standard cardcard:<rank>enhancement, seal, edition, source:standard, ante range, pack, kindpack, atleast
Pack optiontarot:<name>, planet:<name>, spectral:<name>, or special:<name>ante range, pack, kindpack, atleast
Boosterbooster:<name>ante range, pack, kindpack, atleast
Tagtag:<name>skip, ante range
Vouchervoucher:<name>ante range
Bossboss:<name>ante range

Sources

  • source:shop searches shop Jokers.
  • source:buffoon searches Buffoon Pack Jokers.
  • source:standard searches Standard Pack cards.
  • source:soul, source:judgement, source:wraith, and the verified tag sources search their corresponding creator outcomes.
  • source:any is the literal union of every valid supported source for the requested Joker and modifiers. Position selectors retain only sources with that coordinate.

Time and position

by:N searches from ante 1 through ante N:

joker:baron source:shop by:3

at:N searches one exact ante and between:A-B searches an inclusive range. All families use the same mutually exclusive range forms:

boss:the-hook at:1
joker:baron source:shop between:2-4

shop:N limits a shop search to its first N generated slots:

joker:baron source:shop shop:10 by:3

shopwindow:N selects the Nth display-sized block in the generated queue:

joker:blueprint source:shop shopwindow:2 between:1-2

Pack positions

Pack selectors accept a count, range, or dot-separated list:

pack:4
pack:2-4
pack:1.3.5

pack counts all visible packs. kindpack counts only packs of the relevant kind:

card:king source:standard by:2 pack:3
card:king source:standard by:2 kindpack:3

Reading result evidence

  • shop card N is the Nth card in the deterministic generated queue, not the Nth shop visit or window.
  • visible pack N counts every pack kind. The exact identity is separate, as in visible pack 2 (Arcana Pack).
  • kindpack N counts only the relevant kind and also reports its global visible-pack coordinate.
  • Tag-created Joker evidence reports both Tag acquisition and Joker creation timing.

Evidence describes deterministic generated state; it does not model affordability or an acquisition route.

Occurrence cardinality

atleast:N requires N matching occurrences in the selected window. It is explicit multiplicity; repeating a Boolean child remains idempotent:

cat:rare source:buffoon by:2 pack:4 atleast:2

Occurrence counting currently requires a concrete source and rejects source:any rather than combining unrelated streams.

Joker and card modifiers

Jokers can be filtered by edition and sticker:

joker:blueprint edition:negative source:buffoon by:2
joker:baron sticker:eternal source:shop by:3

Standard cards can be filtered by rank, enhancement, seal, and edition:

card:king enhancement:steel seal:red source:standard by:2
card:king edition:foil source:standard by:2

An omitted seal accepts every seal state. seal:none specifically requires an unsealed card. Negative Standard cards and softlocked Planet X, Ceres, and Eris are rejected as impossible.

Current limits

For ordinary generated-availability queries, the following shapes are not implemented yet:

  • Standard-card suit;
  • unverified Joker creator sources;
  • softlocked Planet options that require run discovery state;
  • occurrence aggregation across source:any streams;
  • same-location relations, negation, and exact or maximum cardinality.

Exact fresh-run routes

Ordinary queries describe what is generated. A root route(...) query instead searches for one legal, ordered trace through a fresh seeded run, so it can express actions, object identity, money and inventory changes, or save and reload effects. Enter route queries in Advanced mode; deck and stake still come from the normal search controls. The route must be the entire query.

Order actions and keep identity

route(
  assume(combat:abstract-one-hand-win),
  then(
    joker:turtle-bean source:shop by:8 action:buy as:bean,
    ref:bean action:sell
  )
)

then(A,B) requires A to finish before B. An action performs that action; without one, the milestone only observes state. as:bean names the exact purchased Joker and ref:bean refers to that same instance later. The combat assumption lets the route cross unlisted blinds with an abstract one-hand win; it does not prove scoring.

Require the same location

route(
  assume(combat:abstract-one-hand-win),
  within(pack,
    then(
      booster:arcana source:shop action:open,
      special:the-soul
    )
  )
)

within(pack,...) requires The Soul to be in the exact Arcana Pack that was opened. The other scopes are shop, stock, blind, and session. Inside a route, all(A,B) requires both in either legal order, while any(A,B) accepts either branch.

Check a state change

route(
  assume(combat:abstract-one-hand-win),
  then(
    state:hand-size as:baseline,
    joker:juggler source:shop by:2 action:buy,
    state:hand-size change:>=1 from:baseline
  )
)

This saves the starting hand size as baseline, buys Juggler by ante 2, and verifies that total hand size increased by at least one. A numeric state saved with as can be used as the baseline for a later change comparison.

Routes may bridge routine progression, but never invent an optional skip, purchase, redemption, pack opening, reroll, sale, reorder, or reload. Write every such action the route depends on. Unsupported mechanics are rejected rather than approximated.