Axiym
Implementation Guides

Withdraw funds

A withdrawal sends funds from an Axiym account to an active registered external account. The accounts must belong to the same client and use the same currency.

Complete Register an external account before creating the withdrawal. Third-party withdrawals are not supported.

Keep every resource and request under the same /clients/{clientId} path.

Testing withdrawals in sandbox

  • Bank withdrawals use the sandbox simulation process and registered test bank account confirmed by Axiym. They are not submitted to a real banking network.
  • Wallet withdrawals use the configured blockchain test network, registered test wallet, and test assets—never a production-network wallet.

Verify registered-account status, withdrawal states, notifications, Axiym account debits, and reconciliation. See Sandbox testing.

1. Select the source Axiym account

Confirm that the source account is ACTIVE, uses the withdrawal currency, and has sufficient balance for the amount and reported fee.

2. Confirm the registered recipient

Retrieve the registered external account by destinationId. Confirm that it:

  • belongs to the same client as the source Axiym account;
  • is ACTIVE;
  • uses the same currency; and
  • for a wallet, uses the intended blockchain network.

3. Create the withdrawal

curl --request POST "https://partner-api.sandbox.axiym.io/api/v1/clients/$CLIENT_ID/withdrawals" \
  --header "Authorization: Bearer $AXIYM_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: $WITHDRAWAL_IDEMPOTENCY_KEY" \
  --data "{\
    \"sourceAccountId\": \"$ACCOUNT_ID\",\
    \"amount\": \"500.00\",\
    \"destinationId\": \"$DESTINATION_ID\",\
    \"purpose\": \"Treasury sweep\",\
    \"externalReference\": \"$YOUR_REFERENCE\"\
  }"

destinationId is the registered external-account identifier. It is not an Axiym accountId, bank account number, or wallet address.

Creation submits the withdrawal for execution; there is no confirmation call. Store the returned withdrawalId.

4. Track and reconcile

curl \
  "https://partner-api.sandbox.axiym.io/api/v1/clients/$CLIENT_ID/withdrawals/$WITHDRAWAL_ID" \
  --header "Authorization: Bearer $AXIYM_ACCESS_TOKEN"

PENDING and HELD are non-terminal. COMPLETED, CANCELED, and REJECTED are terminal. Inspect reasonCode when the withdrawal does not complete.

For a completed wallet withdrawal, transactionHash identifies the network transaction. Use the source Axiym account statement and withdrawalId to reconcile the posted debit.