For the complete documentation index, see llms.txt. This page is also available as Markdown.

Withdrawals

Send funds from your merchant assets to on-chain addresses and track each withdrawal to completion. This page documents the HTTP endpoints you’ll call from your backend. Authentication and the error-envelope format follow the public API style.

Base URL: https://api.omypayments.com Version: v1 (all endpoints below start with /1.0/...) Auth: add your API key in the header: apiKey: <yourApiKey> Permission: the API key must have the withdrawal permission enabled, otherwise requests are rejected with 403 Forbidden. Listing withdrawals additionally accepts the invoice permission.

Prerequisites

  • API withdrawals must be enabled for your merchant account (otherwise 400 with API withdrawals are currently inactive).

  • amount is expressed in the token’s base units (integer string, no decimal point). For a token with 6 decimals, 100 = "100000000" — see crypto.decimals on the “Get Merchant Asset Data” endpoint to convert.

  • Each withdrawal must meet the per-crypto minimum USD amount, and the asset must have enough available balance to cover amount plus the system fee (for API withdrawals the fee is always paid by the sender).

  • The destination address is optional: if omitted, the asset’s default wallet is used. The address must be valid for the asset’s network and — when a whitelist is enabled for your merchant — must be whitelisted. Destinations are also screened against our AML policy.

Typical flow

  1. asset-withdrawal (reserves funds, starts processing)

  2. asset-withdrawal-info and/or asset-withdrawals and/or callbacks to track status.

Withdrawal statuses

Status
Meaning

pending

Withdrawal created, funds reserved from the available balance, awaiting/processing the on-chain send.

success

Withdrawal sent on-chain; txHash is populated.

failed

Withdrawal was declined or the transaction was reverted; the reserved funds are returned to the available balance.


Last updated