CryptoCadet

Help

Troubleshooting

The errors people hit most, and the fix for each. Error text is shown as the CLI prints it.


Signing in

confirm your email first: we just sent you a new link

Your email address isn't confirmed yet. Open the newest confirmation email, click the link, then run cryptocadet login again.

wrong email or password

Use the same email and password as cryptocadet.app/v4/login. If CRYPTOCADET_PASSWORD is set in your shell, check it, because it is used instead of the prompt.

keychain backend unavailable

init couldn't find an OS keychain. On Linux, install libsecret-tools or run npm i -g @napi-rs/keyring. On Windows, use the PowerShell installer, which includes it. See Install.

Paying with USDC

recipient not allowlisted 0x…

You haven't trusted this seller yet. The error ends with the command to do it:

Terminal
cryptocadet allowlist:add --kind recipient --address 0x…

exceeds per-tx cap / exceeds daily cap

The price is above your per-payment limit, or today's spending would pass your daily limit. Raise it if you mean to:

Terminal
cryptocadet policy:set --kind perTx --token 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 --usdc 5
cryptocadet policy:set --kind daily --token 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 --usdc 25

above human-confirm threshold. Confirm it: re-run with --approve

You set a requireHumanAbove threshold and this payment is above it. Re-run the same fetch with --approve.

insufficient balance

The agent wallet doesn't hold enough USDC. Check it with cryptocadet wallet:show and send more USDC on Base to the agent address.

ETH is low

wallet:show warns when the wallet is short of ETH for gas. The CLI swaps a little USDC for ETH by itself, but it needs some ETH to make that swap. If the ETH balance is zero, send a small amount of ETH on Base to the agent address.

no requirement payable on chain 8453

The item doesn't accept USDC: the seller hasn't set a payout address, or the item is private. Pay with card credits instead (Buying). If the message says credits refused, the reason credits failed is shown in brackets.

VERIFY_FAILED

If you are calling the gateway yourself right after paying, the transaction doesn't have enough confirmations yet. Wait a few seconds and send the same X-PAYMENT again, before the quote expires.

Card credits

I paid but my credits didn't go up

Settle the top-up by hand with the session id credits:buy printed:

Terminal
cryptocadet credits:verify --session <sessionId>

INSUFFICIENT_CREDITS

Your balance is below the price. Top up with cryptocadet credits:buy --usd 5 (or more).

AGENT_PER_CALL_CAP / AGENT_DAILY_CAP

The price is above the token's per-call cap, or the token has spent its daily cap in the last 24 hours. Caps can't be edited: create a token with higher caps (it replaces the one on this machine) and revoke the old one.

This agent token is not allowed to buy from …

The token was created with --sellers and this seller isn't on the list. Create a token that includes it.

This item is private and has not been shared with you

The seller hasn't shared this item with the email on your account, or has stopped sharing it. Ask them to share it with the email you sign in with.

Unknown or revoked agent token

The token on this machine was revoked. Run cryptocadet agent-token:clear, then create a new one.

Fetching

only https URLs

fetch only requests https URLs (and localhost for testing).

header … is set by the payment flow

Don't pass Authorization, X-PAYMENT or X-CryptoCadet-Agent with --header. The CLI adds what's needed.

502 ORIGIN_ERROR

The seller's server failed. If you paid with credits, the response says whether the charge was refunded (refunded: true). USDC payments can't be refunded by CryptoCadet; contact the seller.

Selling

that handle is taken / that handle is reserved

Pick another handle. Handles are 3 to 32 characters of a-z, 0-9 and dashes.

you already have a product with that slug

Slugs are unique per seller. Choose another, or disable the old item.

proxy products need an originUrl / originUrl must use https

Pass --origin-url with an https URL on a public host. Private network addresses and localhost are refused.

content is limited to 200KB

Hosted content can be up to 200 KB. For anything bigger, serve it from your own server as a proxy item.

Buyers can only pay me with credits

Set a payout address with cryptocadet payout:set. Without one, the 402 offers card credits only.

Still stuck?Email hello@cryptocadet.app with the command you ran and the full error.