---
title: "Wallet Topup"
method: POST
path: "/api/agent/v1/wallet/topup"
---

# Wallet Topup

`POST /api/agent/v1/wallet/topup`

## Request

- Base URL: `https://api.crowelogic.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.crowelogic.com/api/agent/v1/wallet/topup`
- Auth: none declared

Out-of-band crowe-credit top-up of an agent wallet (ops / Stripe-webhook seam).

Fail-closed: disabled unless X402_ADMIN_TOKEN is set, and requires a matching
X-Admin-Token (constant-time compare). Idempotent on ``idempotency_key`` so a
retried top-up never double-credits. Lets an agent be funded before on-chain
settlement is wired, so a real agent-paid completion can happen today.

## Headers

- `X-Admin-Token` string, nullable

## Request body

- TopupRequest
  - `client_id` string, required
  - `amount` integer, required
  - `idempotency_key` string, required
  - `reason` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry.md) · [All operations](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry/llms.txt) · [OpenAPI document](https://skmtc.dev/crowelogic/apis/crowe-logic-foundry/revisions/a3c1ef17f171?raw)
