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.
amountstringyesA positive amount with at most two decimal places.
currencystringyesISO-4217; must equal the wallet's currency.
clientReferencestringyesYour own reference; stored and returned verbatim, never interpreted; unique within your account.
metadataobjectno
Example (placeholder values)
json
{
  "walletUid": "01J9Z3K5X8QW2R4T6V8Y0B1C3D",
  "amount": "2500.00",
  "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.
amountstringA decimal amount with two decimal places.
feestringA decimal amount with two decimal places.
taxstringA decimal amount with two decimal places.
currencystringISO-4217.
clientReferencestring | nullYour reference, exactly as you supplied it.
sourceWalletUidstring | nullWallet transfers only: the wallet the money left.
destinationWalletUidstring | nullWallet transfers only: the wallet the money reached.
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 (placeholder values)
json
{
  "uid": "01J9Z3K5X8QW2R4T6V8Y0B1C3D",
  "type": "string",
  "state": "string",
  "amount": "2500.00",
  "fee": "12.50",
  "tax": "1.88",
  "currency": "ETB",
  "clientReference": "string",
  "sourceWalletUid": "01J9Z3K5X8QW2R4T6V8Y0B1C3D",
  "destinationWalletUid": "01J9Z3K5X8QW2R4T6V8Y0B1C3D",
  "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.