Error codes reference
When something fails, J Tools shows a short title, a line on what happened and what to do next. Behind each message sits a code, like AFF_WITHDRAW_MIN or VALIDATION_ERROR, which is what API responses carry and what support can trace. This page explains the ones you are most likely to meet and what to do about each.
Affiliate codes carry an AFF_ prefix and live under Affiliate. Everything else is a tool or transaction message, sorted by where it comes from: Swaps and trading, Wallets and transfers, Transactions and signing, and General and other. If you only see a plain message with no code, the “Common issues” section on the tool’s own page usually covers it too.
J Tools is non-custodial, so anything that begins in your wallet ends in your wallet. Nothing moves until you sign.
Affiliate
#affiliateThese show up around the affiliate panel: registering, requesting a withdrawal, or getting credited for a referral.
Account and access
| Code | What it means | How to fix |
|---|---|---|
AFF_NOT_FOUND | No affiliate account is tied to this wallet. | Register as a partner first, or reconnect the wallet that owns the partner account. See How the affiliate program works. |
AFF_BANNED | The partner account is suspended, so the panel is closed to it. The sign-in window says the account is suspended; other requests answer “Access denied.” | Contact support. A suspended partner cannot use the panel, request a withdrawal, or earn new commissions. |
AFF_ALREADY_REGISTERED | This wallet is already a partner. | Sign in with the existing wallet instead of registering again. |
AFF_WALLET_REQUIRED | The wallet address is missing or not a valid Solana address. | Connect a wallet, or enter a valid Solana address (roughly 32 to 44 base58 characters). |
AFF_TERMS_REQUIRED | Registration was sent without accepting the current affiliate terms. | Tick the terms box in the register window, then register again. |
Withdrawals
| Code | What it means | How to fix |
|---|---|---|
AFF_WITHDRAW_MIN | The amount is below the withdrawal minimum. | Request at least the minimum shown in the panel. See Withdrawals. |
AFF_WITHDRAW_MAX | The amount is more than your available balance. | Lower it to your current withdrawable balance, or wait for more confirmed commissions to land. |
AFF_SOCIAL_REQUIRED | No verified social link is on file, and at least one is required to withdraw. | Add a link in Settings, wait for our team to verify it, then retry. |
AFF_WITHDRAW_PENDING | You already have a withdrawal request waiting. | Wait until it is paid or rejected. Only one request can be open at a time. |
AFF_WITHDRAW_REJECTED | An admin declined the request without recording a reason. The panel shows it as declined with no reason, and the amount is back in your balance. | Contact support for the details, then submit a new withdrawal. |
Referral attribution
| Code | What it means | How to fix |
|---|---|---|
AFF_REF_INVALID | The referral code is malformed, or no active partner owns it. | Use a current link in the form https://j.tools/en?ref=CODE. The code may belong to a partner that is no longer active. See How crediting works. |
AFF_RATE_LIMITED | Too many requests hit the affiliate endpoints in a short window (HTTP 429). | Wait about a minute and try again. This limit keeps public endpoints safe from abuse. |
Swaps and trading
#swaps-and-tradingThese come up when you are swapping or moving a token you hold.
| Message | What it means | How to fix |
|---|---|---|
| Not enough tokens | You are trying to send, swap or burn more of a token than the wallet holds. | Lower the amount to what you actually hold, or check that you picked the right token. |
Wallets and transfers
#wallets-and-transfersMost of these come from the wallet itself: it is not connected, it points at the wrong cluster, or the address you entered is off.
| Message | What it means | How to fix |
|---|---|---|
| You cancelled in your wallet | The transaction was rejected on the wallet’s approval screen. Nothing was sent and nothing was charged. | Run it again when you are ready to approve. |
| Wallet not connected | The tool needs a connected wallet before it can sign. | Connect a wallet first. See Connect your wallet. |
| Approval took too long | The transaction expired while the wallet prompt was still open. | Run it again and approve without a long pause. |
| Wallet is on the wrong network | The wallet is set to a different cluster than the tool expects. | Switch the wallet to Solana mainnet, then retry. |
| You backed out of a wallet warning | Your wallet showed a warning on the transaction and you declined it. Nothing was sent. | Read the note below. If the warning looked wrong for what you set up, report it to support so we can check what the tool built. |
| Invalid wallet address | A recipient or wallet field is not a valid Solana address (roughly 32 to 44 base58 characters). | Re-paste the full address. Watch for typos, stray characters or a cut-off copy. |
Transactions and signing
#transactions-and-signingThese appear once a transaction is being built or broadcast: funding it, reaching the network, or passing the tool’s checks.
Balance and funds
| Message | What it means | How to fix |
|---|---|---|
| Not enough SOL | The wallet cannot cover the platform fee plus the network costs of this action. | Top up the wallet, then retry. See the fee disclaimer below. |
| An account would be left below the rent minimum | Every Solana account must keep its rent-exempt minimum. Either the balance falls short of it, or the amount would leave a sending wallet holding dust. | Add SOL, lower the amount, or empty the sending wallet completely. |
Network and RPC
| Message | What it means | How to fix |
|---|---|---|
| The transaction expired | The blockhash aged out before the transaction landed, usually because the network was busy. | Run it again. An expired transaction never landed, so nothing was charged. |
| The Solana network is unreachable | The RPC endpoint did not answer. | Wait about 30 seconds and retry. If it keeps happening, try another network connection (for example off a strict VPN). |
| Too many requests | The RPC provider or a shared endpoint saw too many calls in a short window (HTTP 429). | Wait a few seconds, then try again. |
| No confirmation arrived in time | The transaction was sent, but the tool stopped waiting for the result. It may still have landed. | Check the wallet or an explorer before resending, so you do not run it twice. |
Validation
| Message | What it means | How to fix |
|---|---|---|
| That mint address is not valid | The token address is malformed, or it does not point to a token mint. | Pick the token with the selector instead of pasting it. |
| A required field is empty | The form is missing something this run needs. | Fill in the highlighted fields and submit again. |
| Invalid amount | The amount is zero, negative, or not a number. | Enter an amount above zero. If the tool shows a limit next to the field, stay inside it. |
| Please check your input and try again | A server-side check rejected the input, and the reply keeps the detail generic for safety. | Review the fields. If nothing looks wrong, refresh and re-enter the values. |
General and other
#general-and-otherA few API responses carry a short string code instead of a themed message. These are intentionally broad so they do not leak server detail.
| Code | What it means | How to fix |
|---|---|---|
VALIDATION_ERROR | One or more inputs failed a server-side check. The tool shows it as “A required field is empty”. | Fix the highlighted fields and resubmit. Same idea as the validation messages above. |
RATE_LIMITED | You hit the request limit on a shared endpoint (HTTP 429). The tool shows it as “Too many requests”. | Wait a short while, then retry. |
UNAUTHORIZED | Your session is missing or expired. | Sign in or reconnect, then repeat the action. |
NOT_FOUND | The thing you asked for is not available, or never existed. | Double-check the link or identifier you used. |
GENERIC_ERROR | An unexpected error the server could not classify. The tool shows “Something went wrong”. | Retry once. If it returns, send support the exact wording and what you were doing. |
Still stuck?
#still-stuckThe message in the app is always the source of truth. If a code is not listed here, or the wording differs, or the fix above did not clear it, follow the app and reach out. Send us the exact message you saw, the tool you were on, and what you were doing right before. That is usually enough for us to pinpoint it fast.
- Support How to reach the J Tools team, what to include so a problem gets solved fast, and the details you should never share with anyone claiming to be support.
- Fee schedule Every J Tools platform fee in one table, by tool and category, plus how the Solana network fee and rent deposits differ from what J Tools charges.
© 2026 J Tools