Skip to content
Spendkit
GuidesMore help
RECOVERY GUIDE

When setup or payment stops

Start with the reason shown in the dashboard or returned by the MCP tool. A Policy denial means the payment should stop or change; a temporary infrastructure problem may need a retry after its cause is resolved.

Do not blindly resend a payment.

After an uncertain wallet broadcast, inspect the existing intent, transaction hash, and receipt first. Retrying an OAuth request or read-only preview is different from submitting a second blockchain transaction.

The wallet owner needs to act

ReasonWhat it meansNext step
payment_wallet_not_boundNo verified wallet is linked to this Agent.Connect and verify one in AI Agents.
policy_not_boundThis Agent has no onchain Spending Policy.Set its limits in AI Agents.
policy_disabled / policy_emergency_pausedNew Spendkit payments are paused.Review the Policy before resuming.
policy_revokedThe Policy has ended.Create a new Policy through the guided process if needed.
recipient_not_allowedThe recipient is outside the allowed list.Review recipient rules; do not bypass them.
policy_daily_limit_exceededNo daily capacity remains.Wait for the UTC reset or explicitly change the Policy.
router_allowance_insufficient / wallet_balance_insufficientThe wallet lacks token permission or funds.Finish wallet setup or fund the wallet.

The Agent or developer should change the request

ReasonNext step
per_transaction_limit_exceededUse a genuinely smaller valid payment or ask the owner to review the limit. Do not split a denied payment to evade Policy.
idempotency_key_conflictKeep the original key for the original payment; use a new key only for a new logical payment.
invalid_client / invalid_scopeCheck connection status and requested scope. Rotate or update credentials in Connect Agent if needed.
rate_limit_exceededWait for the supplied retry delay before making another request.
recipient_allowlist_not_enabledEnable the allowlist before adding recipients.

Investigate before continuing

ReasonWhat to check
router_v2_not_readyRuntime or network validation failed closed. The name is a legacy reason code; it does not mean the current Router should be version 2. Check service and network health.
policy_owner_mismatch / policy_agent_mismatch / policy_token_mismatchPolicy binding is inconsistent. Stop payment and investigate the wallet, Agent, and chain state.
router_transaction_revertedInspect the transaction receipt and reason before any new attempt.
router_payment_event_missing_or_mismatchedA receipt did not prove the expected Spendkit payment. Do not assume the payment succeeded.
rate_limit_backend_unavailableThe abuse-control service could not be checked and failed closed. Wait for service recovery.

Other setup messages include wallet_challenge_already_used_or_invalid (request a new ownership challenge) and agent_has_onchain_policy_history (a Policy-bound Agent is retained for audit; revoke the Policy instead of deleting its record).

MCP results include a request trace ID and may include recovery ownership and next action. Share the trace ID when asking for support, but never send your Client Secret or Payment Wallet private key.