API

Start

The submitted data must be UTF-8 encoding.
For successful API requests, all requests must contain several required headers:
- The X-API-KEY header must contain your received API Key (YOUR_API_KEY)
Sample request
bash
curl -X GET \
-H "x-api-key: YOUR_API_KEY" \
"https://xgram.io/api/v1/METHOD"
All requests sent to API Xgram must include the parameter key (API key) available after signing up to our Partnership Program.

Address Validation

This request checks the validity of the address:
https://xgram.io/api/v1/crypto-address-verification

Parameter

Parameter
Type
Example
cryptoDigitalCoin
string
BTC
cryptoDigitalAddress
string
bc1q6aas41krwvvcc4hhio6u4euf1y3wkbtap8uhmrt
Sample request
bash
curl -X GET "https://xgram.io/api/v1/crypto-address-verification?cryptoDigitalCoin=BTC&cryptoDigitalAddress=bc1q6aas41krwvvcc4hhio6u4euf1y3wkbtap8uhmrt" \
-H "x-api-key: bc1qvi55hg9rlwc2etpoypkt98db37vcbto5fke0a6w" \
-H "Content-Type: application/json; charset=UTF-8"
Sample response
json
{
"result": true
}

Exchange rate for transaction amount

This request gets the current exchange rate. Transaction fee is not included:
https://xgram.io/api/v1/retrieve-rate-value

Parameter

Parameter
Type
Example
fromCcy
string
BTC
toCcy
string
ETH
ccyAmount
float
1
Sample request
bash
curl -X GET "https://xgram.io/api/v1/retrieve-rate-value?fromCcy=BTC&toCcy=ETH&ccyAmount=1" \
-H "x-api-key: bc1qvi55hg9rlwc2etpoypkt98db37vcbto5fke0a6w" \
-H "Content-Type: application/json; charset=UTF-8"
Sample response
json
{
"fix": false,
"minFrom": "0.0081",
"maxFrom": "138",
"from_network": "Bitcoin",
"to_network": "ERC20",
"rate": 25.084395813448847,
"withdrawalFee": "0.006 ETH",
"result": true
}
* withdrawalFee - Approximate withdrawal fee. Floating parameter.

Get currency list

Get all enabled currencies:
https://xgram.io/api/v1/list-currency-options
Sample request
bash
curl -X GET "https://xgram.io/api/v1/list-currency-options" \
-H "x-api-key: bc1qvi55hg9rlwc2etpoypkt98db37vcbto5fke0a6w" \
-H "Content-Type: application/json; charset=UTF-8"
Sample response
json
{
"XETA": {
"coinName": "XANA",
"contract": "0x111111111117dc0aa78b770fa6a738034120c302",
"minFrom": 19137.93103448276,
"maxFrom": 18773946,
"tagname": "",
"network": "AVAXC",
"available": true
},
"FITFI": {
"coinName": "Step App",
"contract": "",
"minFrom": 16989.79591836735,
"maxFrom": 14965986,
"tagname": "",
"network": "AVAXC",
"available": true
},
"ARB": {
"coinName": "Arbitrum",
"contract": "",
"minFrom": 90.68627450980394,
"maxFrom": 88085,
"tagname": "",
"network": "Arbitrum",
"available": true
},
"KLAY": {
"coinName": "Klaytn",
"contract": "",
"minFrom": 389.9297423887589,
"maxFrom": 69838833,
"tagname": "",
"network": "Klaytn",
"available": true
},
...
}
If the tagname is not an empty value, the tag is a mandatory parameter for this currency.

Pairs List

This request gets all pairs available for exchange:
https://xgram.io/api/v1/load-pairs-options
Sample request
bash
curl -X GET "https://xgram.io/api/v1/load-pairs-options" \
-H "x-api-key: bc1qvi55hg9rlwc2etpoypkt98db37vcbto5fke0a6w" \
-H "Content-Type: application/json; charset=UTF-8"
Sample response
json
[
  [
    "ETH",
    "LTC"   
  ], 
  [
     "BTC",
     "BCH"
  ],
  [
    "ZEC",
    "BAT"
  ],
  [
    "ETH",
    "USDT"
  ],
  [
    "BNB",
    "XRP"
  ],
]

Exchange Initiation

This request creates – initiates - the exchange:
https://xgram.io/api/v1/launch-new-exchange

Parameter

Parameter
Type
Example
toAddress
string
0xaeeee8f61f3ccffe8c60e7aed0f4ca753e0ba43d
toAddressTag
optional
string
refundAddress
optional
string
bc1q8dj6psgvmqshkgy9vpl7shtn2ly77qz5dr6mq3
refundTag
optional
string
fromCcy
string
BTC
toCcy
string
ZEC
ccyAmount
float
0.5
type
optional
string
float
Valid values: float and fixed
Sample request
bash
curl -X GET "https://xgram.io/api/v1/launch-new-exchange?toAddress=0x750c44dB01899176f2e64bD25A2fabAC1140d8e9&fromCcy=BTC&toCcy=ETH&ccyAmount=0.5" \
-H "x-api-key: bc1qvi55hg9rlwc2etpoypkt98db37vcbto5fke0a6w" \
-H "Content-Type: application/json; charset=UTF-8"
Sample response
json
{
"id": "qeqb36r5qa999th0",
"depositAddress": "2Q4J7Kz90S6yI5fWb1T8LzR9U3eM4vXxC7H",
"depositTag": "",
"result": true,
"ccyAmountToExpected": 14.7316,
}

Payment Initiation

This request creates – initiates - the payment:
https://xgram.io/api/v1/launch-new-payment-exchange

Parameter

Parameter
Type
Example
toAddress
string
0xaeeee8f61f3ccffe8c60e7aed0f4ca753e0ba43d
toAddressTag
optional
string
refundAddress
optional
string
bc1q8dj6psgvmqshkgy9vpl7shtn2ly77qz5dr6mq3
refundTag
optional
string
fromCcy
string
BTC
toCcy
string
ZEC
ccyAmount
float
0.5
type
optional
string
float
Valid values: float and fixed
Sample request
bash
curl -X GET "https://xgram.io/api/v1/launch-new-payment-exchange?toAddress=0x750c44dB01899176f2e64bD25A2fabAC1140d8e9&fromCcy=BTC&toCcy=ETH&ccyAmount=0.5" \
-H "x-api-key: bc1qvi55hg9rlwc2etpoypkt98db37vcbto5fke0a6w" \
-H "Content-Type: application/json; charset=UTF-8"
Sample response
json
{
"id": "qeqb36r5qa999th0",
"depositAddress": "2Q4J7Kz90S6yI5fWb1T8LzR9U3eM4vXxC7H",
"depositTag": "",
"result": true,
"ccyAmountFrom": 0.0183883
}

Getting exchange status

Getting information about the current exchange status:
https://xgram.io/api/v1/fetch-status-info

Parameter

Parameter
Type
Example
id
string
qeq6r5qa999th0
Sample request
bash
curl -X GET "https://xgram.io/api/v1/fetch-status-info?id=qeq6r5qa999th0" \
-H "x-api-key: bc1qvi55hg9rlwc2etpoypkt98db37vcbto5fke0a6w" \
-H "Content-Type: application/json; charset=UTF-8"
Sample response
json
{
"x-status": "deposit_received",
"id": "qeq6r5qa999th0",
"x-fromCcy": "BTC",
"x-toCcy": "ZEC",
"x-ccyDepositAddress": "1Z9VcAgLPQwoAb7fiWuDKZbqwnt5LKrAv",
"x-ccyDepositTag": "",
"x-ccyDepositHash": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9d0e1f2g3h",
    "x-ccyDestinationAddress":
"2Q4J7Kz90S6yI5fWb1T8LzR9U3eM4vXxC7H",
"x-ccyDestinationTag": "",
    "x-ccyRefundAddress":
"2B2yQ2fQ6RHejg3ENQUgUM6TMn8e8WjGqOb",
"x-ccyRefundTag": "",
"x-ccyExpectedAmountFrom": 0.5,
"x-ccyExpectedAmountTo": 50.02,
"x-ccyAmountFrom": "0.5",
"date": "21.01.2024 10:01:11",
"txId": null,
"x-ccyAmountTo": null,
"result": true
}
List of used statuses:
x-new - new transaction (awaiting deposit)
x-awaiting_funds - deposit confirming
x-funds_received - deposit is received
x-processing_exchange - in the process of exchange
x-transferring - in the process of sending
x-completed - exchange completed successfully
x-timeout - the waiting time for funds has expired
x-error - the exchange ended with an error
x-transfer_error - sending attempt failed
x-returned - the funds were returned to the client
You send
1
~
You get
All commissions included
This pair is not available right now. Please try again soon.
Select a currency