Error reference
JIKA's errors are Anchor custom errors: code 6000 plus the index below.
| Code | Name | Raised by | Meaning | What to do |
|---|---|---|---|---|
| 6000 | InvalidMint | create_feed | The account is not an initialized SPL Token or Token-2022 mint | Pass the token's mint account |
| 6001 | NumeraireHasNoFeed | create_feed | wSOL is the unit every feed is priced in; it has no feed of its own | Read SOL-denominated prices directly; use the USDC feed for SOL in dollars |
| 6002 | UnsupportedVenue | add_venue | The pool is not owned by a supported DEX program | Use a pool from one of the seven supported DEX programs |
| 6003 | VenueLayout | add_venue | The pool data does not match the expected layout for its DEX | Check the pool address; during update a pool whose layout changed reads as no sample instead of failing |
| 6004 | VenueMintMismatch | add_venue | Neither side of the pool is this feed's mint | Add the pool to the feed of the token it trades |
| 6005 | UnsupportedQuote | add_venue | The other side of the pool must be wSOL or USDC | Only wSOL and USDC pairs count |
| 6006 | DuplicateVenue | add_venue | The pool is already a venue of this feed | Nothing to do |
| 6007 | VenueListFull | add_venue | All 8 venue slots hold confirmed depth; none can be replaced yet | A slot frees up when a venue older than 3,000 slots holds under 1% of the depth |
| 6008 | VenueAccountsMismatch | update | The accounts passed for a venue do not match the pool's own vaults or bin array, or are out of order | Build the instruction with updateIx(connection, mint) |
| 6009 | BridgeRequired | add_venue, update | A USDC-quoted venue needs the USDC feed passed as the bridge account | Pass the USDC feed |
| 6010 | NotLive | read | The feed is still warming up (fewer than 600 credited slots) | Keep updating; about 4 to 5 minutes |
| 6011 | Stale | read | The feed was last updated more than max_age_slots ago | Update it, or run a keeper |
| 6012 | TooUncertain | read | The band is wider than max_conf_ticks | Treat as no price right now; check again after the pools settle |
Handling read errors in a consumer
NotLive, Stale and TooUncertain are not faults. They mean "no price you said you could use, right now". A lender should block new borrows and liquidations against that token until a read succeeds, never fall back to zero or to a cached number.
Errors you will not see
- A pool that is paused, closed, not yet open or a completed pump.fun curve does not raise an error: it reads as no sample and carries no weight.
- An update in the same slot as the previous one does nothing and succeeds.