Author profile photo
Swapgate team
November 18, 2024
~10 min read

APIv1

instrumentsGET

Get public list of all active instruments

Parameters

No parameters

Response

Returns list of all active instruments

[
{
"currencyTitle": "ADA",
"networkTitle": "ADA",
"currencyFriendlyTitle": "Cardano",
"precisionDecimals": 11,
"requiresMemo": false,
"currencyLogoLink": "https://static.coinall.ltd/cdn/assets/imgs/221/5FFE6AFD21B40243.png"
}
]

rates-infoGET

Get selected pair public info

Parameters

instrumentFromCurrencyTitle

string
*required
Title of sending instrument currency

Example:BTC

instrumentFromNetworkTitle

string
*required
Title of sending instrument network

Example:BTC

instrumentToCurrencyTitle

string
*required
Title of receiving instrument currency

Example:USDT

instrumentToNetworkTitle

string
*required
Title of receiving instrument network

Example:TRC20

claimedDepositAmount

string
User amount to send

Example:1

Response

Returns pair info object

{
"instrumentFrom": {
"currencyTitle": "USDT",
"networkTitle": "TRC20",
"precisionDecimals": 12
},
"instrumentTo": {
"currencyTitle": "BTC",
"networkTitle": "BTC",
"precisionDecimals": 11
},
"depositRules": {
"minAmount": "72.81550376835",
"maxAmount": "0"
},
"withdrawalRules": {
"minAmount": "0.00141001",
"maxAmount": "0",
"withdrawalFeeRules": {
"maxAmount": "0.0004",
"minAmount": "0.0004"
}
},
"minConfirmationsToWithdraw": 20,
"minConfirmationsToTrade": 20,
"price": "0.00001936165401188960303",
"reversePrice": "51648.480000000003909",
"updatedAt": "2024-02-20T03:44:50.000Z",
"liquidityProviderPublicCode": "radio",
"amountToGet": "0.06389345823923569",
"marketMinAmount": "3300"
}

Error codes

422 Returns if pair is not supported
406 Returns if amount to send is too low

validate-addressPOST

Validates an address for given instrument

Parameters

currencyTitle

string
*required
Title of instrument currency

Example:BTC

networkTitle

string
*required
Title of instrument network

Example:BTC

address

string
*required
Address to validate

Example:bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh

Response

Returns boolean value

true

createPOST

Creates an exchange order

Parameters

instrumentFrom

object
*required
Sending instrument info

Example:{ "currencyTitle": "USDT", "networkTitle": "TRC20" }

instrumentTo

object
*required
Receiving instrument info

Example:{ "currencyTitle": "BTC", "networkTitle": "BTC" }

destinationAddress

string
*required
Destination address

Example:bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh

destinationAddressMemo

string or null
*required
Destination memo (if exists)

Example:null

refundAddress

null
Not supported right now

Example:null

refundAddressMemo

null
Not supported right now

Example:null

claimedDepositAmount

number
*required
Claimed amount to send on moment of order creation

Example:43350

userEmail

string or null
User email for notification

Example:null

referrerId

string or null
Affiliate ID for reference

Example:aff_41

Response

Returns order object

{
"createdAt": "2024-02-20T03:46:45.736Z",
"orderId": 618,
"userEmail": null,
"refundAddress": null,
"destinationAddress": "bc1qfcgrdw99lr7v2sp6at6vna7dxhwvcrgj0s887w",
"claimedNetworkFee": "0.0004",
"claimedPublicRate": {
"price": "0.00001936597539494728",
"updatedAt": "2024-02-20T03:46:45.062Z",
"reversePrice": "51636.955"
},
"claimedDepositAmount": "3300",
"amountToGet": "0.063907718803",
"rateMode": "FLOATING",
"userId": null,
"referrerAffiliateId": "aff_41",
"pair": {
"instrumentFrom": {
"currencyTitle": "USDT",
"networkTitle": "TRC20",
"precisionDecimals": 12
},
"instrumentTo": {
"currencyTitle": "BTC",
"networkTitle": "BTC",
"precisionDecimals": 11
}
},
"orderEvents": [
{
"createdAt": "2024-02-20T03:46:45.736Z",
"kind": "CREATION_END"
}
],
"depositAddress": {
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"depositAddress": "TJvW1jY5xUCEobvAUJrZvoMeS8R3qQ5ThX",
"depositAddressMemo": null
},
"deposits": [],
"withdrawals": [],
"KYCFormLink": null,
"liquidityProviderPublicCode": "radio"
}

order-infoGET

Returns public info about order status

Parameters

orderId

number
*required
Order ID

Example:31954

destinationAddress

string
*required
User destination address

Example:bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh

Response

Returns order status object

{
"deposits": [
{
"createdAt": "2024-01-30T13:32:26.141Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"confirmations": 0,
"txId": "0xdeadc0dedeadbeef",
"depositAddress": "0xdeadc0de"
}
],
"withdrawals": [
{
"createdAt": "2024-01-30T13:32:26.141Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"networkFee": "1.1",
"txId": "0xdeadc0dedeadbeef"
}
],
"depositAddress": {
"orderId": 0,
"liquidityProviderTitle": "WHITEBIT_BUSINESS_ACCOUNT",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"depositAddress": "0xdeadc0de"
},
"orderId": 0,
"createdAt": "2024-01-30T13:32:26.141Z",
"claimedDepositAmount": "10.01",
"claimedPublicRate": {
"price": "1000.1",
"reversePrice": "1000.1",
"updatedAt": "2024-01-30T13:32:26.141Z",
"liquidityProviderPublicCode": "formulae",
"claimedAmountToReceive": "0.01"
},
"claimedNetworkFee": "10.01",
"KYCFormLink": "string",
"orderEvents": {
"kind": "TRACKING_STARTED",
"createdAt": "2024-01-30T13:32:26.141Z"
},
"userEmail": "test@example.com",
"destinationAddress": "0xdeadbeef"
}

Notes

Steps for Processing Exchanges

Field Description
deposits When this array is empty, it indicates that the deposit has not yet been received. We remain in the initial step, awaiting the user’s deposit. Once the array contains entries, this indicates that the deposit has been received, and we can proceed to the next step. Please note a user may make multiple deposits, and to display the correct total deposit amount, it is necessary to sum the values in the “amount” field of each array element.
withdrawals[0].txId The “withdrawals” array remains empty while trading is in progress. Receipt of an object with a “txId” indicates that the transaction has been completed, allowing us to congratulate the user on the successful completion of their order.

set-emailPOST

Sets user email for notification user about order

Parameters

orderId

number
*required
Order ID

Example:31954

userEmail

string
*required
User email

Example:test_294614693@test.com

Response

Returns order status object

{
"createdAt": "2024-01-29T22:24:37.903Z",
"orderId": 556,
"userEmail": "user@email.com",
"legacyOrderId": null,
"refundAddress": null,
"destinationAddress": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"claimedNetworkFee": "0.0004",
"claimedPublicRate": {
"price": "0.00002319399117909321",
"updatedAt": "2024-01-29T22:24:28.573Z",
"reversePrice": "43114.615000000005"
},
"claimedDepositAmount": "3300",
"pair": {
"instrumentFrom": {
"currencyTitle": "USDT",
"networkTitle": "TRC20",
"precisionDecimals": 12
},
"instrumentTo": {
"currencyTitle": "BTC",
"networkTitle": "BTC",
"precisionDecimals": 11
}
},
"orderEvents": [
{
"createdAt": "2024-01-29T22:24:37.903Z",
"kind": "CREATION_END"
}
],
"depositAddress": {
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"depositAddress": "TH1V2xkH9VpoiRSGfubnqtz3GiRpjieswN",
"depositAddressMemo": null
},
"deposits": [],
"withdrawals": [],
"KYCFormLink": null,
"liquidityProviderPublicCode": "radio"
}

Error codes

400 Returns if email is not valid
403 Returns if email already set (it can not be set twice)
404 Returns if order not found
422 Returns if order is already processed
Share article: