Skip to main content

Move + on-chain

SymptomLikely causeFix
predict::mint aborts with “quote-asset not allowed”DUSDC type mismatchVerify DUSDC_COIN_TYPE matches 0xe95040…::dusdc::DUSDC (the DeepBook-allowlisted type)
MARKET_REGISTRY_ID empty after publishparse-publish-output couldn’t find the object changeRe-run pnpm env:from-publish --force or look at objectChanges manually in /tmp/dp-publish.json
binary-market:create Move build errorSlug contains uppercase or a hyphenSlug must match /^[a-z0-9_]+$/
binary-market:resolve aborts with EWrongCapResolverCap id doesn’t match the SettlementVerify the cap from .binary-markets/registry.json
dark_pool::deposit aborts with EHashLenMismatchAttribution hash isn’t 32 bytesThe deposit PTB pads with 32 zero bytes when Seal is off. Check lib/ptb.ts
binary-market:create fails with “Could not find both TreasuryCaps”Slug used a Move reserved wordChoose a slug that doesn’t collide (e.g. avoid coin, balance)
place_limit_order aborts EBalanceManagerBalanceTooLow (code 3)No 5% fee headroomKeeper / seeder must quote roundLot(held × 100/105)
Frontend trade aborts with “balance too low at execution”Stale quote, price ticked up between quote and submituseTxSigner already asserts via waitForTransaction; humanized error explains. Just retry

Backend

SymptomLikely causeFix
Frontend shows “Server URL unreachable”api process not running, or port mismatchCheck VITE_SERVER_HTTP_URL matches SERVER_PORT
Indexer logs no eventsWrong DARKPOOL_PACKAGE_ID or no events emitted yetVerify the package id matches the live deployment; trigger a test event
Resolver says RESOLVER_KEY is not set even though .env has ittsx watch doesn’t walk up to repo-root .env like one-shot tsx doespackages/shared/src/env.ts already walks up ancestors. Confirm .env is at repo root and the line is RESOLVER_KEY=suiprivkey1… with no quotes
Auto-settle log shows the same digest=… line twice + a “rejected by 1/3 of validators” errorTwo resolver processes running concurrently (stale tsx watch child)⌃C every resolver shell, pkill -f "resolver/src/index", restart one
Vite throws “VITE_ENOKI_API_KEY undefined”.env is at the wrong location.env should be at repo root, vite.config.ts has envDir: "../../"

Toolchain

SymptomLikely causeFix
pnpm --filter @darkpool/server … errors with “pnpm requires at least Node.js v22.13”Shell is on v22.11nvm use 22.13 (per-shell) or nvm alias default 22.13 (persistent)
nvm complains about ~/.npmrcglobalconfig/prefixMismatched globalconfigEither pin with nvm alias default 22.13 or clean those lines from ~/.npmrc

Agent runtime

SymptomLikely causeFix
Action feed fills with 22+ identical “Balance of gas object…” rowsOut of gasRefuel signer with SUI; runtime collapses identical entries with ×N counter
LLM agent silently falls back to alternateMissing LLM_API_KEYSet it in .env. Provider preset picks defaults
Agent ticks every minute with no mintsProbe out of boundsCheck the strategy ask_bounds; testnet oracles only quote ~±$500 around spot
Fleet card shows red dot/status endpoint unreachableCheck the agent process is running on the right port
Agent paused but runtime keeps logging “would mint”TRADE_AGENT_ID not set in .envSet it; the runtime then reads is_active per tick