Skip to main content

Get status

With the transaction ID obtained from createTransaction or createFixTransaction call, you can get exchange status to notify your user or provide additional support.

Possible transaction statuses:

StatusDescription
waitingTransaction is waiting for an incoming payment. Functionally equivalent to the new status in createTransaction/createFixTransaction response. However, when you retrieve the transaction's status using an ID with the getStatus or getTransactions request, it will be represented as waiting instead of new.
confirmingWe have received payin and are waiting for certain amount of confirmations depending on the incoming currency.
exchangingPayment was confirmed and is being exchanged.
sendingCoins are being sent to the recipient address.
finishedCoins were successfully sent to the recipient address.
failedTransaction has failed. In most cases, the reason is that the amount was less than the minimum. Please contact support and provide a transaction ID.
refundedExchange failed and coins were refunded to user's wallet. The wallet address should be provided by user.
hold*Due to AML/KYC procedure, exchange may be delayed.
overdueIn case payin for floating rate transaction was not sent within the indicated timeframe.
expiredIn case payin for fixed rate transaction was not sent within the indicated timeframe.
info

Changelly is not able to independently contact or reach partners’ users. In case the transaction gets hold status it is the API partner’s responsibility to provide instructions to the user. The user should contact the Changelly’s security team at [email protected] to pass the KYC procedure or any other required procedures.

HTTP request

post
/v2/#getStatus

Request

Header parameters

Requires authentification.

Body parameters

Requires JSON-RPC 2.0 protocol request body.

The params parameter schema:

NameTypeRequiredDescription
idstringtrueTransaction ID.
Sample request payload
application/json
{
"jsonrpc": "2.0",
"id": "test",
"method": "getStatus",
"params": {
"id": "pgj********2minj"
}
}
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": "getStatus",
"params": {
"id": "pgj********2minj"
}
}'

Response

Response parameters

Requires JSON-RPC 2.0 protocol response body.

The result parameter schema:

NameTypeDescription
resultstringTransaction status.
Sample response
application/json
{
"jsonrpc": "2.0",
"id": "test",
"result": "waiting"
}

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.
-32602Parameter {param} is invalidYou've specified an invalid parameter.
-32603Internal Error or ErrorMost likely, the problem is on our side. Further investigation is required.