API documentation
Sign in

Withdrawals

Requesting a withdrawal to a destination held on file, listing outstanding requests and cancelling one.

A withdrawal is a request, not an instruction. You submit one, it is reviewed, and while it is outstanding you can list it or cancel it. Crypto and fiat are separate endpoints throughout — pick one below and the page follows.

POST /api/3/withdrawal/crypto              # request a digital-asset withdrawal
POST /api/3/withdrawal/fiat                # request a fiat withdrawal
POST /api/3/withdrawal/crypto/list         # outstanding and past crypto requests
POST /api/3/withdrawal/fiat/list           # outstanding and past fiat requests
POST /api/3/withdrawal/crypto/{uuid}/cancel
POST /api/3/withdrawal/fiat/{uuid}/cancel

The destination is held on file. A request names a registered wallet (walletParticipantUuid) or bank account (bankAccountUuid) rather than a raw address or account number — which is why the settlement party records carry whitelisted and verified per destination.

All six calls require a credential with permission to move funds.

On cancel, the {uuid} in the path identifies the request. The account group travels in the signed body, not the query string: the request signature covers the endpoint and body only, so a value on the URL is not signed and is not read.

Request

Fields marked required are declared optional in source and then rejected when absent, so the Required column on those is authored here rather than read from the class.

FieldTypeRequiredNotes
noncestringOptionalA counter that must increase with each request. An alternative to tonce; send one or the other
toncestringOptionalThe current Unix time in microseconds. Send this or nonce — a request with neither is rejected, and each value must be higher than the last one used by the key
userUuidstringOptionalThe user the credentials act for. Set automatically from the API key; sending it has no effect
accountGroupUuidstringRequiredThe account group to withdraw from
ccystringRequiredThe digital asset to withdraw
amountdecimalRequiredHow much to withdraw. Must be positive
walletParticipantUuidstringRequiredThe registered wallet to withdraw to
clientCommentstringOptionalFree text kept with the request — up to 1024 characters

Cancel request

Sent with the request's uuid in the path.

FieldTypeRequiredNotes
noncestringOptionalA counter that must increase with each request. An alternative to tonce; send one or the other
toncestringOptionalThe current Unix time in microseconds. Send this or nonce — a request with neither is rejected, and each value must be higher than the last one used by the key
userUuidstringOptionalThe user the credentials act for. Set automatically from the API key; sending it has no effect
accountGroupUuidstringRequiredThe account group the request belongs to, and it must travel in the signed body

Submit and cancel response

Submitting and cancelling both answer with the identifier of the affected request. A rejected request answers 400 with the validation failure instead.

FieldTypeNotes
successbooleanPresent and true when the request was accepted
uuidstringIdentifier of the withdrawal request, to list or cancel it later

List response

An array, one entry per request. Both outstanding and completed requests are returned.

FieldTypeNotes
uuidstringIdentifier for the request. This is the value the cancel path takes
amountstringHow much was requested
ccystringThe digital asset requested
coinAddressstringThe address the funds are being sent to
stateWithdrawalStateWhere the request has reached
accountGroupstringName of the account group withdrawn from
accountGroupUuidstringIdentifier of that account group
accountGroupOwnerstringUsername of the account group's owner
accountGroupOwnerUuidstringIdentifier of that owner
accountGroupNamestringName of the account group, repeated
clientNamestringThe client the request belongs to
requestorstringWho raised the request
beneficiaryParticipantRefThe settlement party being paid
walletWalletRefThe registered wallet being paid to
clientCommentstringFree text supplied when the request was raised
dateCreatedtimestampWhen the request was raised
lastUpdatedtimestampWhen the request was last changed

ParticipantRef

The same shape on both endpoints.

FieldTypeNotes
uuidstringIdentifier for the settlement party
namestringName of the party

WalletRef

Returned by the crypto endpoint only.

FieldTypeNotes
uuidstringIdentifier for the registered wallet
addressstringThe address being paid to
aliasstringYour name for the wallet

BankAccountRef

Returned by the fiat endpoint only.

FieldTypeNotes
uuidstringIdentifier for the registered bank account
namestringName on the account
aliasstringYour name for the account

WithdrawalState

The two endpoints do not share a vocabulary. Crypto derives its state and can report FAILED; fiat returns a persisted state and cannot.

ValueMeaning
PENDING_APPROVALRaised, and waiting to be reviewed
PENDINGApproved, and being processed
PROCESSEDSent
FAILEDApproved, but processing did not complete. Contact your Relationship Manager
CANCELLEDRejected on review, or cancelled by you. Nothing is sent

We use cookies to improve your experience and analyse site traffic. Cookie policy