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:
Status | Description |
---|---|
waiting | Transaction 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. |
confirming | We have received payin and are waiting for certain amount of confirmations depending on the incoming currency. |
exchanging | Payment was confirmed and is being exchanged. |
sending | Coins are being sent to the recipient address. |
finished | Coins were successfully sent to the recipient address. |
failed | Transaction has failed. In most cases, the reason is that the amount was less than the minimum. Please contact support and provide a transaction ID. |
refunded | Exchange 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. |
overdue | In case payin for floating rate transaction was not sent within the indicated timeframe. |
expired | In 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:
Name | Type | Required | Description |
---|---|---|---|
id | string | true | Transaction 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:
Name | Type | Description |
---|---|---|
result | string | Transaction status. |
Sample response
application/json
{
"jsonrpc": "2.0",
"id": "test",
"result": "waiting"
}
Error response
Error response parameters
Check the error response schema.
Error codes
Code | Message | Description |
---|---|---|
-32600 | Error: You reached requests limit {limit} rps | You have been sending more than 10 requests per second. |
-32602 | Parameter {param} is invalid | You've specified an invalid parameter. |
-32603 | Internal Error or Error | Most likely, the problem is on our side. Further investigation is required. |