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 authentication.

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
-32601Method not foundThe method you're calling doesn't exist.
-32602Parameter {param} is invalidYou've specified an invalid parameter.
-32603Error: You reached requests limit {limit} rpsYou have sent requests more than the RPS limit. The default RPS limit is 10.
-32603Internal Error or ErrorMost likely, the problem is on our side. Further investigation is required.
-32603The method is not allowed for api keyThe method is unavailable for the API key.