curl --request POST \
--url https://sg.sandbox.api.reap.global/crypto-withdrawals/{id}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Reap-Version: <reap-version>'const options = {
method: 'POST',
headers: {'Reap-Version': '<reap-version>', Authorization: 'Bearer <token>'}
};
fetch('https://sg.sandbox.api.reap.global/crypto-withdrawals/{id}/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/crypto-withdrawals/{id}/cancel"
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chainId": "ETHEREUM_MAINNET",
"asset": {
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"logoUri": "<string>"
},
"amount": "100.000000",
"netAmount": "99.750000",
"fee": {
"amount": "0.250000",
"asset": {
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"logoUri": "<string>"
}
},
"destinationAddress": "<string>",
"status": "PENDING_SIGNATURE",
"failureReason": "REJECTED_BY_COMPLIANCE",
"transactionId": "<string>",
"expiresAt": "<string>",
"completedAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}{
"error": {
"code": "CRYPTO_WITHDRAWAL_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "CRYPTO_WITHDRAWAL_CANNOT_CANCEL",
"message": "<string>",
"detail": {}
}
}Cancel crypto withdrawal
Cancels a withdrawal that is still awaiting a signature and releases the reserved funds.
curl --request POST \
--url https://sg.sandbox.api.reap.global/crypto-withdrawals/{id}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Reap-Version: <reap-version>'const options = {
method: 'POST',
headers: {'Reap-Version': '<reap-version>', Authorization: 'Bearer <token>'}
};
fetch('https://sg.sandbox.api.reap.global/crypto-withdrawals/{id}/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/crypto-withdrawals/{id}/cancel"
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chainId": "ETHEREUM_MAINNET",
"asset": {
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"logoUri": "<string>"
},
"amount": "100.000000",
"netAmount": "99.750000",
"fee": {
"amount": "0.250000",
"asset": {
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"logoUri": "<string>"
}
},
"destinationAddress": "<string>",
"status": "PENDING_SIGNATURE",
"failureReason": "REJECTED_BY_COMPLIANCE",
"transactionId": "<string>",
"expiresAt": "<string>",
"completedAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}{
"error": {
"code": "CRYPTO_WITHDRAWAL_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "CRYPTO_WITHDRAWAL_CANNOT_CANCEL",
"message": "<string>",
"detail": {}
}
}Authorizations
API key as Bearer token
Headers
API version (YYYY-MM-DD)
2025-02-14 "2025-02-14"
Path Parameters
Crypto withdrawal ID
Response
Crypto withdrawal resource
Unique withdrawal identifier
Account the funds are withdrawn from
Blockchain network the transfer happens on
ETHEREUM_MAINNET, ETHEREUM_SEPOLIA, BASE_MAINNET, BASE_SEPOLIA, ARBITRUM_ONE_MAINNET, ARBITRUM_ONE_SEPOLIA, POLYGON_MAINNET, POLYGON_AMOY, SOLANA_MAINNET, SOLANA_DEVNET "ETHEREUM_MAINNET"
Asset metadata
Show child attributes
Show child attributes
Gross amount requested, with decimals applied. The fee is taken out of this rather than charged on top.
"100.000000"
Amount the destination receives: the gross less the fee
"99.750000"
Fee charged for the withdrawal, fixed at the time it was requested
Show child attributes
Show child attributes
Address the funds are sent to
Current withdrawal status
PENDING_SIGNATURE, PROCESSING, COMPLETED, EXPIRED, CANCELLED, FAILED "PENDING_SIGNATURE"
What went wrong. Set only when the status is FAILED.
REJECTED_BY_COMPLIANCE, ACCOUNT_RESTRICTED, TRANSACTION_FAILED "REJECTED_BY_COMPLIANCE"
On-chain transaction identifier. Present once the transfer has been submitted to the network, which happens while the status is still PROCESSING.
When the signature window closes. Past this point the withdrawal is closed and the funds become spendable again.
When the transfer was observed to be irreversible on-chain, which is when the status became COMPLETED. Null until then.
ISO 8601 creation timestamp
ISO 8601 last update timestamp