Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
changelly-api-ngfar
Advanced tools
The following methods are used to empower your service with Changelly exchange features. You can implement these features or request more by contacting our developers team. Changelly PRO is always white-labeled and you can use it the way you like.
Changelly API uses JSON-RPC 2.0 protocol, defining only a handful of data types and commands.
Example:
{
"jsonrpc": "2.0",
"method": "getMinAmount",
"params": {
"from": "btc",
"to": "bcn"
},
"id": 1
}
All calls must contain the following headers:
api-key — Your API key.
sign — The query's data signed by your key's "secret" according to the HMAC-SHA512 method.
NodeJs example:
var crypto = require("crypto");
var message = {
"jsonrpc": "2.0",
"method": "getMinAmount",
"params": {
"from": "btc",
"to": "bcn"
},
"id": 1
};
var sign = crypto
.createHmac('sha512', apiSecret)
.update(JSON.stringify(message))
.digest('hex');
Command 'getCurrencies' will return you the currency list available for an exchange. Check the list of available currencies at Supported currencies page before you start.
Example:
{
"jsonrpc": "2.0",
"method": "getCurrencies",
"params": {},
"id": 1
}
With the method 'generateAddress', you will create a pair of addresses for deposits and withdrawals. Every pair is unique for a user. So if a user sends some coins to the same address twice, the coins will be exchanged and sent to the user's wallet.
'address' is necessary for sending exchanged coins. 'extraId' is a field required by some currencies as additional information to proceed with the transaction: payment ID (CryptoNote currencies), destination tag (XRP) or public key (NXT).
Example:
{
"jsonrpc": "2.0",
"method": "generateAddress",
"params": {
"from": "eth",
"to": "xmr",
"address": "47hxsKgUYrKb37beq2vowcf1ojfxu1X3zjpUH6uGyBjrWHnGQLGbLwa5LKQcUN8jVG9SprG8s2hRMexJWhdvEPmuV3ncZSQ",
"extraId": "ad5baa2b10ce0a015aa153a369bdc096ef29954a5096b98042296ddd79b3a4a8"
},
"id": 1
}
You can notify users of the amount they will receive after exchange using 'getExchangeAmount'. You need to provide the request with currency pair ('from', 'to') and the 'amount' user is exchanging.
Example:
{
"jsonrpc": "2.0",
"method": "getExchangeAmount",
"params": {
"from": "eth",
"to": "btc",
"amount": "3.99"
},
"id": 1
}
We don’t have maximum limits, but to proceed with an exchange we need it to be larger than the exchange fee. Use 'getMinAmount' with a currency pair ('from', 'to') to notify users of the minimum amount they need to send.
Example:
{
"jsonrpc": "2.0",
"method": "getMinAmount",
"params": {
"from": "btc",
"to": "eth",
},
"id": 1
}
Note: most users do not read the information about the minimum amount. Be sure to highlight this information in your UI. If users send less than the minimum amount, their coins will likely be lost.
In some cases, you'll have to identify the exchange a user has ordered (for example, to provide support or to show the exchange process). You can use two unique identifiers: 'transactionID' and 'transactionHash'.
Example:
{
"jsonrpc": "2.0",
"method": "getTransactions",
"params": {
"currency": "xmr", //optional
"address": "47hxsKgUYrKb37beq2vowcf1ojfxu1X3zjpUH6uGyBjrWHnGQLGbLwa5LKQcUN8jVG9SprG8s2hRMexJWhdvEPmuV3ncZSQ", //optional
"extraId": null, //optional
"limit" 10,
"offset" : 10
},
"id": 1
}
With the transaction ID, you can get Exchange status to notify your user or to provide additional support.
Example:
{
"jsonrpc": "2.0",
"method": "getStatus",
"params": {
"id": "1d36f592f21e"
},
"id": 1
}
Status | Description |
---|---|
confirmed | Payment was received. The exchange is processing. |
finished | Exchange is completed. Payout has been made to user's address. |
failed | Transaction has failed. In most cases, the amount was less than the minimum. |
refunded | Exchange was failed and coins were refunded to user's wallet. The wallet address should be provided by user. |
As well as JSON RPC, the API provides socket.io interface for receiving exchange status. You can subscribe on 'payin' and 'payout' events. The subscription should be signed and have a valid logon message.
Example:
socket.on("connect", function() {
socket.emit("subscribe",
{
"apiKey": apiKey,
"sign": sign,
"message": {
"Login": {}
}
}
);
});
socket.on("payin", function(data) {
console.log(data);
});
socket.on("payout", function(data) {
console.log(data);
});
Direct your users to Changelly's support. You can receive the widget code and instructions by request.
You can get the basic web page with API implementation by request.
Contact pro@changelly.com for API access.
FAQs
Changelly API package
The npm package changelly-api-ngfar receives a total of 0 weekly downloads. As such, changelly-api-ngfar popularity was classified as not popular.
We found that changelly-api-ngfar demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.