Skip to main content

Get transactions

To identify transaction, use getTransactions with the ID from the createTransaction/createFixTransaction response.

You can use getTransactions method with other filters to improve user experience.

HTTP request

post
/v2/#getTransactions

Request

Header parameters

Requires authentification.

Body parameters

Requires JSON-RPC 2.0 protocol request body.

The params parameter schema:

NameTypeRequiredDescription
idstring or array of stringsfalseTransaction ID. The maximum array length is 10.
statusstring or array of stringsfalseTransaction status.
currencystring or array of stringsfalsePayin currency ticker (in lowercase). The maximum array length is 10.
addressstring or array of stringsfalsePayin address. The maximum array length is 10.
payoutAddressstring or array of stringsfalsePayout address. The maximum array length is 10.
extraIdstringfalseAdditional ID for address for currencies that use additional ID for transaction processing.
sinceintegerfalseUnix timestamp in microseconds (16 digits). A filter that limits the results to records where the createdAt value is greater than or equal to the since value.
limitintegerfalseNumber of records to retrieve. The maximum limit is 100. By default, 10.
offsetintegerfalseRecords cursor.
Sample request payload with several parameters
application/json
{
"jsonrpc": "2.0",
"id": "test",
"method": "getTransactions",
"params": {
"currency": "xrp",
"address": "<<payin address to search>>",
"payoutAddress": "<<payout address to search>>",
"extraId": "<<payin extraId to search>>",
"limit": 10,
"offset": 10,
"since": 1483290569942384
}
}
Sample request payload with the id
application/json
{
"jsonrpc": "2.0",
"id": "test",
"method": "getTransactions",
"params": {
"id": "ahvt********dnfo"
}
}
Sample request payload with id, currency, and status parameters as arrays
application/json
{
"jsonrpc": "2.0",
"id": "test",
"method": "getTransactions",
"params": {
"id": [
"xln3********ms8im",
"tr4g3********zk4t4",
"484ec********pln5"
],
"currency": [
"xrp",
"eth"
],
"status": [
"finished",
"sending"
]
}
}
Sample cURL
curl --location --request POST 'https://api.changelly.com/v2' \
--header 'X-Api-Key: {{apiKey}}' \
--header 'X-Api-Signature: {{sign}}' \
--data-raw '{
"jsonrpc": "2.0",
"id": "test",
"method": "getTransactions",
"params": {
"currency": "xrp",
"address": "<<payin address to search>>",
"extraId": "<<payin extraId to search>>",
"limit": 10,
"offset" : 10
}
}'

Response

Response parameters

Requires JSON-RPC 2.0 protocol response body.

The result parameter schema:

NameTypeDescription
idstringTransaction ID. Could be used in getStatus method.
createdAtintegerTime in timestamp format (microseconds) when the transaction was created.
typestringType of transaction.
Enum: float, fixed.
moneyReceivedintegerThe time in timestamp format (microseconds) of receiving the funds by Changelly. moneyReceived equals 0 if Changelly hasn't received the funds yet.
moneySentintegerThe time in timestamp format (microseconds) of sending the funds to the user by Changelly. moneySent is not returned if Changelly hasn't sent the funds yet.
ratestringCurrent exchange rate.
payinConfirmationsstringNumber of confirmations.
statusstringTransaction status.
currencyTostringPayout currency ticker.
currencyFromstringPayin currency ticker.
payinAddressstringAddress for a user to send coins to.
payinExtraIdstringExtra ID for payinAddress in case it is required.
Note: If the payinExtraId parameter is returned in the response and is not null, it is required for user to send the funds to the payinAddress specifying extraId. Otherwise, the transactions will not be processed and the user will need to get a refund through technical support.
payinExtraIdNamestringName of the payin currency extra ID (if applicable). For example, "Destination Tag" for XRP. If extra ID is not applicable, the parameter is not returned.
payinHashstringHash of the payin transaction.
payoutAddressstringAddress where the exchange result will be sent to.
payoutExtraIdstringExtra ID for payoutAddress in case it is required.
payoutExtraIdNamestringName of the payout currency extra ID (if applicable). For example, "Destination Tag" for XRP. If extra ID is not applicable, the parameter is not returned.
payoutHashstringHash of the payout transaction.
payoutHashLinkstringExplorer link to the payout transaction.
refundAddressstringAddress of the wallet to refund in case of any technical issues during the exchange. The currency of the wallet must match with the from currency.
refundExtraIdstringExtra ID for refundAddress.
refundHashstringHash of the refund transaction.
Note: If the refundHash parameter is null, it won't be returned in the response.
refundHashLinkstringExplorer link to the refund transaction.
Note: If the refundHashLink parameter is null, it won't be returned in the response.
amountExpectedFromstringThe amountFrom value from createTransaction request.
amountExpectedTostringThe amountTo value from getExchangeAmount response at the moment of createTransaction.
This is the estimated payout amount of currency before withholding the network fee.
amountFromstringThe actual pay-in amount.
amountTostringThe actual amount that is sent to payoutAddress after processing the transaction.
networkFeestringCommission taken by the network from the amount sent to the user. Displayed in pay-out currency.
changellyFeestringChangelly fee in percent.
apiExtraFeestringYour API extra fee in percent.
totalFeestringTotal fee in pay-out currency.
canPushbooleanIs true if it's possible to push the transaction after it stops.
canRefundbooleanIs true if it's possible to refund the transaction after it stops.
payTillstringThe time until the user needs to make the payment. The parameter returns only for fixed-rate transactions.
warning

The result scheme parameter trackUrl is deprecated. You can retrieve the actual status data from the getTransactions and getStatus method.

Sample response wtih two transactions
application/json
{
"jsonrpc": "2.0",
"id": "test",
"result": [
{
"id": "uzul********97b",
"createdAt": 1664897070000000,
"type": "fixed",
"moneyReceived": 1664897109000000,
"moneySent": 1664897441000000,
"rate": "14.41196637",
"payinConfirmations": "1",
"status": "finished",
"currencyFrom": "btc",
"currencyTo": "eth",
"payinAddress": "3Fi6v6s**************bLNkQPD",
"payinExtraId": null,
"payinExtraIdName": null,
"payinHash": "669d7d63*****************68e401c4c542",
"payoutHashLink": "https://etherscan.io/tx/0x66f72ac0dd*********************387c20a21",
"refundHashLink": null,
"amountExpectedFrom": "0.00422367",
"payoutAddress": "0x5Fb48bc0******************feE3Cf2a",
"payoutExtraId": null,
"payoutExtraIdName": null,
"payoutHash": "0x66f72ac0d***************************56387c20a21",
"refundHash": null,
"refundAddress": "bc1qxm9w***********************cz7atv5",
"refundExtraId": null,
"amountFrom": "0.00422367",
"amountTo": "0.06087139",
"amountExpectedTo": "0.06087139",
"networkFee": "0.00233395",
"changellyFee": "0.4",
"apiExtraFee": "2.00",
"totalFee": "0.00233395",
"canPush": false,
"canRefund": false,
"payTill": "2025-03-17T12:00:00+00:00"
},
{
"id": "ccud********os91",
"createdAt": 1664888443000000,
"type": "fixed",
"moneyReceived": 1664888456000000,
"moneySent": 1664889182000000,
"rate": "11.09727112",
"payinConfirmations": "2",
"status": "finished",
"currencyFrom": "xrp",
"currencyTo": "gala",
"payinAddress": "rUjd8QPJ**************vQC6dwe",
"payinExtraId": "93******79",
"payinExtraIdName": "Destination Tag",
"payinHash": "A67B08EE0C4***********************A7FDF7365333C",
"payoutHashLink": "https://etherscan.io/tx/0x5be5c44f11****************2befeb103e64a",
"refundHashLink": null,
"amountExpectedFrom": "10000",
"payoutAddress": "0x95c63a1******************3bd775d90",
"payoutExtraId": null,
"payoutExtraIdName": null,
"payoutHash": "0x5be5c44f1197d********************2befeb103e64a",
"refundHash": null,
"refundAddress": "rDaS8t8m***********JZxo9JKr",
"refundExtraId": null,
"amountFrom": "10000",
"amountTo": "110972.71124334",
"amountExpectedTo": "110972.71124334",
"networkFee": "105",
"changellyFee": "0.5",
"apiExtraFee": "2.00",
"totalFee": "105",
"canPush": false,
"canRefund": false,
"payTill": "2025-03-17T06:46:36+00:00"
}
]
}
Sample response with one transaction
application/json
{
"jsonrpc": "2.0",
"id": "test",
"result": [
{
"id": "ldis********dnys",
"createdAt": 1617187096000000,
"type": "float",
"moneyReceived": 0,
"moneySent": 0,
"rate": "0.00021545",
"payinConfirmations": "0",
"status": "waiting",
"currencyFrom": "xlm",
"currencyTo": "eth",
"payinAddress": "GDX6FFZUVSYTOV****************HUXXPXYOUIOY6CDQXG4NP6OEQ7",
"payinExtraId": "9783********7653",
"payinExtraIdName": "Memo.ID",
"payinHash": null,
"payoutHashLink": null,
"refundHashLink": null,
"amountExpectedFrom": "500",
"payoutAddress": "0xCde3463364****************73d7f91136Ac34",
"payoutExtraId": null,
"payoutExtraIdName": null,
"payoutHash": null,
"refundHash": null,
"amountFrom": "",
"amountTo": "0",
"amountExpectedTo": "0.10746",
"networkFee": "0",
"apiExtraFee": "0.00",
"totalFee": null,
"canPush": false,
"canRefund": false
}
]
}

Error response

Error response parameters

Check the error response schema.

Error codes

CodeMessageDescription
-32600Error: You reached requests limit {limit} rpsYou have been sending more than 10 requests per second.
-32603Internal Error or ErrorMost likely, the problem is on our side. Further investigation is required.