Withdrawal Session

Creating A Withdrawal Request API Endpoint

POST https://api-prod.alfa-instap-cpt.uk/wdreqpub/wdrequest

Customers create withdrawal requests in fiat currency. After validations, the incoming withdrawal request is informed to the financial administrator.

Headers

Name
Type
Description

content-type*

string

application/json

x-api-key*

string

Replace your API key

x-payload-hash*

string

Replace your calculated HMAC hash. See API Security.

Request Body

Name
Type
Description

withdrawRequestId*

string

The system activates the withdrawal session for this id. This id must be unique. If the customer sends the same withdrawRequestId for different withdrawal requests, the system will reject those requests.

withdrawRequestDate*

number

This field represents the current epoch time in milliseconds.

userId*

string

[Min 1,Max 4000] Characters The customer creates the withdrawal request for this user id.

userName*

string

[Min 1,Max 4000] Characters The customer creates the withdrawal request for this user name.

fiatCurrency*

string

This field represents the fiat currency. The customers create the withdrawal requests by the fiat currency. The system converts the fiat currency to the corresponding crypto currency.

fiatAmount*

number

This field represents the fiat amount. The customers create the withdrawal requests by the fiat currency. The system converts the fiat amount to the corresponding crypto currency.

currency*

string

This field represents the crypto-currency code for the withdrawal. Crypto-currency codes and supported chains/tokens can be found here.

toAddress*

string

toAddress is the target blockchain address, where the system sends the amount after approval.

destinationTag

string

When the customers need to request an XRP coin, they can fill this field. Some XRP accounts can only work with destination tag.

When all the validations have passed, and the system informs the withdrawal request to the financial administrator, the system responds with a 200. The response includes the details of the fiat-to-cryptocurrency conversion.

{
  withdrawRequestId: '',
  withdrawRequestToBePersisted: {
    userId: '',
    toAddress: '',
    currency: '',
    fiatCurrency: '',
    fiatAmount: 0.0,
    userName: '',
    withdrawRequestId: '',
    withdrawRequestDate: EPOCH,
    amount: 0.0,
    fiatToCryptoConversionResult: {
      fiatCurrency: '',
      fiatAmount: 0.0,
      cryptoCurrency: '',
      conversionEpochTime: EPOCH,
      rate: '',
      cryptoAmount: 0.0
    }
  }
}

Query The Withdrawal Request API Endpoint

GET https://api-prod.alfa-instap-cpt.uk/wdreqpub/wdrequest/{withdrawRequestId}

This endpoint is for manually querying the withdrawal state. It can also be used to learn about the withdrawal process. The withdraw event object, which the system sends upon a withdrawal, is enough for standard operations.

Path Parameters

Name
Type
Description

withdrawRequestId*

string

The withdrawal request id to be queried.

Headers

Name
Type
Description

content-type*

string

application/json

x-api-key*

string

Replace your API key

The status of the withdrawal will be one of the following:

NEW: This state means the system successfully creates a new withdrawal request.

COMPLETED: The system completes the withdrawal and the job sends the assets to the target blockchain address. If the withdrawal state is COMPLETED, the system will fill in the txId field.

PROCESSING: If the financial administrator of the system approves the withdrawal request, the system will push the withdrawal request to our FIFO queue. This state means that the request is pushed to the queue and the system processes the request.

FAILED: This state suggests the system encounters an error while processing the withdrawal request.

REJECTED: This state suggests that the financial administrator rejects the withdrawal request.

{
    "withdrawalState": "WITHDRAWAL STATE",
    "txId": "The blockchain transaction id",
    "callbackSuccess": true,
    "amount": 0.0,
    "currency": "",
    "userId": "",
    "withdrawTime": EPOCH(),
    "userName": "",
    "operationNo": ""
}

Last updated

Was this helpful?