Skip to Content

Troubleshooting

Failed to get token account balance

The account in KEEPER_PRIVATE_KEY does not have a token account for the spot market’s mint (USDT on mainnet-beta; dUSDT on devnet).

SolanaJSONRPCError: failed to get token account balance: Invalid param: could not find account at Connection.getTokenAccountBalance (/Users/user/velocity-v1/node_modules/@solana/web3.js/src/connection.ts:2704:13) at processTicksAndRejections (internal/process/task_queues.js:95:5) at async runBot (/Users/user/velocity-v1/apps/keeper-bots-v2/src/index.ts:252:22) at async recursiveTryCatch (/Users/user/velocity-v1/apps/keeper-bots-v2/src/index.ts:473:3) at async recursiveTryCatch (/Users/user/velocity-v1/apps/keeper-bots-v2/src/index.ts:481:3) { code: -32602, data: undefined }

User does not exist

The account in KEEPER_PRIVATE_KEY has not initialized a Velocity User (sub-account) yet. See Trading Automation for how to initialize it.

[2026-01-15T22:46:19.236Z] error: User for bot69e9FXGoKzvAdGnN8uVVDCfLdLUX6K5wsXdrS3Dd3 does not exist (subAccountId: 0) Error: Run with '--init-user' flag to initialize a User at runBot (/Users/user/velocity-v1/apps/keeper-bots-v2/src/index.ts:1091:10) at processTicksAndRejections (internal/process/task_queues.js:95:5) at async recursiveTryCatch (/Users/user/velocity-v1/apps/keeper-bots-v2/src/index.ts:473:3)

Run once with --init-user (see Trading Automation) to create the account, then restart without the flag.

”TakerOrderNotFound” or “AskNotCrossed” errors

  • TakerOrderNotFound: the auction order you tried to take was either already filled by another user or removed due to slowness in your request.
  • AskNotCrossed: the auction order’s price doesn’t reach your minimum selling price specified in the JIT parameters.

It’s common practice to simulate transactions before submitting them, but this can carry a higher risk of being too slow to compete in real-time situations.

”cannot read .data and .DataAndSlot” errors

These errors (cannot read .data or .dataAndSlot) typically occur when the free RPC keys run out of credits or reach their limits. This happens because maker/keeper bot functions require a lot of RPC calls. To address this, consider using a paid RPC service (see RPC providers) or setting up a custom node.

Misc Transaction Errors

Since running a Keeper is a profit-seeking endeavour, it is not unusual to run into competition while filling orders and liquidating dangerous positions. These errors can happen at various commitment levels, and how you handle them will be dependent on your skillset and craftiness. If you’re looking for friends, come to #research-and-dev-chat  and leak some alpha 🤓.

Last updated on