Skip to content

Wallet credits

Credit a customer wallet from your prefunded balance

POST/api/v1/tenant/wallet-credits

Scope wallet-credits:write · Write — send Idempotency-Key and X-Request-Id

Moves the amount from your prefunded balance with Neo Wallet to the customer's wallet; no payment provider is involved and the wallet is credited immediately. The wallet is credited only if the result stays within the wallet's maximum balance for the customer's KYC level and your prefunded balance covers the amount. The response state is terminal immediately and wallet_credit.completed is delivered to your webhook.

Request body

FieldTypeRequiredDescription
walletUidstringyesThe wallet to credit, as returned by POST /tenant/customers.
amountMinornumberyesPositive integer minor units (e.g. 250000 = ETB 2,500.00). Min 1.
currencystringyesISO-4217; must equal the wallet's currency.
clientReferencestringyesYour own reference; stored and returned verbatim, never interpreted; unique within your account.
metadataobjectno
Example (generated from the schema)
json
{
  "walletUid": "01J9Z3K5X8QW2R4T6V8Y0B1C3D",
  "amountMinor": 1,
  "currency": "ETB",
  "clientReference": "string"
}

Response · 201

FieldTypeDescription
uidstring
typestringOperation type, e.g. wallet_credit, wallet_debit, payout_b2c or topup_c2b.
statestringOperation state: created, awaiting_authorization, authorized, held, processing, pending_provider, confirmed, failed, reversed or completed.
amountMinornumberInteger minor units (e.g. 250000 = ETB 2,500.00).
feeMinornumberMinor units.
taxMinornumberMinor units.
currencystringISO-4217.
clientReferencestring | nullYour reference, exactly as you supplied it.
createdAtstring
completedAtstring | nullWhen the operation first reached a final state.
linksobject
links.selfstringAPI-relative path of this operation (GET /tenant/operations/{uid}).
links.receiptstringAPI-relative path of its receipt (GET /tenant/operations/{uid}/receipt).
Example (generated from the schema)
json
{
  "uid": "01J9Z3K5X8QW2R4T6V8Y0B1C3D",
  "type": "string",
  "state": "string",
  "amountMinor": 0,
  "feeMinor": 0,
  "taxMinor": 0,
  "currency": "ETB",
  "clientReference": "string",
  "createdAt": "2026-09-03T10:15:30.000Z",
  "completedAt": "2026-09-03T10:15:30.000Z",
  "links": {
    "self": "string",
    "receipt": "string"
  }
}

Errors

400 401 403 404 409 422 429 500 503 — one body shape for all of them, see Errors.