API: Request examples
Overview
This documentation provides an overview of the API endpoints, showcasing request and response examples for various operations. All examples use a test environment. Make sure to replace the API key and IDs with the actual values provided to you.
Retrieve a list of integrations
Use this endpoint to retrieve a paginated list of all available integrations. Each integration includes its id, which is required when creating orders.
Request
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/integrations' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
Response
{
"data": [
{
"name": "test",
"id": "1ef65bda-11ad-63ca-8afe-73770edda314",
"url": "https://example.com",
"status": "active"
}
],
"pagination": {
"quantity": 1,
"totalQuantity": 1,
"currentPage": 1,
"pages": 1
}
}
Get crypto assets
Use this endpoint to retrieve a list of supported crypto assets. Each asset includes identifiers and display information, allowing you to know which assets are available for creating orders.
Request
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/assets' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
Response
{
"assets": [
{
"id": "USDT_TRC20",
"currencyCode": "USDT",
"displayName": "Tether",
"blockchainId": "tron",
"blockchainDisplayName": "Tron",
"name": "Tether (TRC20)"
},
{
"id": "TRX",
"currencyCode": "TRX",
"displayName": "Tron",
"blockchainId": "tron",
"blockchainDisplayName": "Tron",
"name": "Tron"
}
]
}
Get exchange rates (optionally)
This endpoint should return exchange rates for the requested fiat amount and currency, helping you understand how much crypto you would receive.
Request
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/exchange-rates?amount=1¤cy=USD' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
Response
{
"rates": [
{
"assetId": "USDT_TRC20",
"rate": "1.000460",
"crypto": {
"amount": "1.000460",
"currency": "USDT"
}
},
{
"assetId": "TRX",
"rate": "3.538946",
"crypto": {
"amount": "3.538946",
"currency": "TRX"
}
}
]
}
Incoming order
Incoming orders are orders created to receive funds from a payer.
Create an incoming order
Use the integrationId from the list of integrations and assetId from the crypto assets list to create a payment or deposit order.
Request
- Payment order
- Deposit order
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/order/payment' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99' \
-d '{
"integrationId": "1ef65bda-11ad-63ca-8afe-73770edda314",
"amount": "1",
"assetId": "TRX",
"externalId": "123"
}'
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/order/deposit' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99' \
-d '{
"integrationId": "1ef65bda-11ad-63ca-8afe-73770edda314",
"assetId": "TRX",
"externalId": "1234"
}'
Response
The response provides the orderId, a paymentLink to a hosted payment page, a widgetCode for embedding the payment widget, and paymentAddress where the payer should send the funds.
- Payment order
- Deposit order
{
"orderId": "1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80",
"paymentLink": "https://payment-page.crypto.stage.apicworld.com/payment-page?integrationId=1ef65bda-11ad-63ca-8afe-73770edda314&orderId=1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80",
"widgetCode": "<iframe src=https://payment-page.crypto.stage.apicworld.com/iframe?integrationId=1ef65bda-11ad-63ca-8afe-73770edda314&orderId=1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80 width=\"100%\" height=\"800px\" allow=\"clipboard-write *\" ></iframe>",
"paymentAddress": "TEX8xhRqrpMp73rHktGV8mUpfkSrbxa6Qt"
}
{
"orderId": "1efbb7e8-2ce7-6e64-997a-d96161cee31b",
"paymentLink": "https://payment-page.crypto.stage.apicworld.com/payment-page?integrationId=1ef65bda-11ad-63ca-8afe-73770edda314&orderId=1efbb7e8-2ce7-6e64-997a-d96161cee31b",
"widgetCode": "<iframe src=https://payment-page.crypto.stage.apicworld.com/iframe?integrationId=1ef65bda-11ad-63ca-8afe-73770edda314&orderId=1efbb7e8-2ce7-6e64-997a-d96161cee31b width=\"100%\" height=\"800px\" allow=\"clipboard-write *\" ></iframe>",
"paymentAddress": "TUxvwdfnWFndky11onYUhbsXyfY7ho3NCv"
}
Retrieve a specific order by ID (optional step)
You can fetch the details of a created order using its orderId. This is useful for checking the current status, associated transactions, and amounts.
Request
- Payment order
- deposit order
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/orders/1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/orders/1efbb7e8-2ce7-6e64-997a-d96161cee31b' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
Response
At this point, the order might still be inProgress if payment hasn't been made.
- Payment order
- deposit order
{
"id": "1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80",
"status": "inProgress",
"createdAt": "2024-12-16T07:20:23+00:00",
"updatedAt": "2024-12-16T07:20:23+00:00",
"transactions": [],
"primaryAmount": {
"amount": "0.000000",
"currency": "TRX"
},
"secondaryAmount": {
"amount": "0.00",
"currency": "EUR"
},
"serviceFeeAmount": {
"amount": "0.000000",
"currency": "TRX"
},
"totalAmount": {
"amount": "0.000000",
"currency": "TRX"
},
"externalId": "123"
}
{
"id": "1efbb7e8-2ce7-6e64-997a-d96161cee31b",
"status": "inProgress",
"createdAt": "2024-12-16T07:22:30+00:00",
"updatedAt": "2024-12-16T07:22:30+00:00",
"transactions": [],
"primaryAmount": {
"amount": "0.000000",
"currency": "TRX"
},
"secondaryAmount": {
"amount": "0.00",
"currency": "EUR"
},
"serviceFeeAmount": {
"amount": "0.000000",
"currency": "TRX"
},
"totalAmount": {
"amount": "0.000000",
"currency": "TRX"
},
"externalId": "1234"
}
Payer completes the order
The payer visits the payment page (or uses another method) to send the required cryptocurrency to the given paymentAddress. Once the payment is confirmed, the order status will change to completed.

Retrieve a specific order by ID (after payment is completed)
After the payer sends the funds, you can check the order again to see the updated status and transaction details.
Request
- Payment order
- Deposit order
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/orders/1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/orders/1efbb7e8-2ce7-6e64-997a-d96161cee31b' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
Response
Now the order should be completed and contain transaction details.
- Payment order
- Deposit order
{
"id": "1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80",
"status": "completed",
"createdAt": "2024-12-16T07:20:23+00:00",
"updatedAt": "2024-12-16T07:34:04+00:00",
"transactions": [
{
"id": "705",
"hash": "36c8d916bb4f76fe9fc39cee53a5da1fdfc5ed2215940534ba2d1b52f36580de",
"status": "completed",
"createdAt": "2024-12-16T07:32:03+00:00",
"updatedAt": "2024-12-16T07:34:04+00:00",
"receiverAddress": "TEX8xhRqrpMp73rHktGV8mUpfkSrbxa6Qt",
"primaryAmount": {
"amount": "1.000000",
"currency": "TRX"
},
"secondaryAmount": {
"amount": "0.27",
"currency": "EUR"
},
"serviceFeeAmount": {
"amount": "0.005000",
"currency": "TRX"
},
"totalAmount": {
"amount": "0.995000",
"currency": "TRX"
}
}
],
"primaryAmount": {
"amount": "1.000000",
"currency": "TRX"
},
"secondaryAmount": {
"amount": "0.27",
"currency": "EUR"
},
"serviceFeeAmount": {
"amount": "0.005000",
"currency": "TRX"
},
"totalAmount": {
"amount": "0.995000",
"currency": "TRX"
},
"externalId": "123"
}
{
"id": "1efbb7e8-2ce7-6e64-997a-d96161cee31b",
"status": "completed",
"createdAt": "2024-12-16T07:22:30+00:00",
"updatedAt": "2024-12-16T07:37:04+00:00",
"transactions": [
{
"id": "706",
"hash": "544602621e70b53b4a8da8535e6fc73a43ec3d5866d4cc91bdea0d152ce88f3b",
"status": "completed",
"createdAt": "2024-12-16T07:35:01+00:00",
"updatedAt": "2024-12-16T07:37:04+00:00",
"receiverAddress": "TUxvwdfnWFndky11onYUhbsXyfY7ho3NCv",
"primaryAmount": {
"amount": "1.000000",
"currency": "TRX"
},
"secondaryAmount": {
"amount": "0.27",
"currency": "EUR"
},
"serviceFeeAmount": {
"amount": "0.005000",
"currency": "TRX"
},
"totalAmount": {
"amount": "0.995000",
"currency": "TRX"
}
}
],
"primaryAmount": {
"amount": "1.000000",
"currency": "TRX"
},
"secondaryAmount": {
"amount": "0.27",
"currency": "EUR"
},
"serviceFeeAmount": {
"amount": "0.005000",
"currency": "TRX"
},
"totalAmount": {
"amount": "0.995000",
"currency": "TRX"
},
"externalId": "1234"
}
Retrieve a specific transaction by ID
If you need more details about a particular transaction within an order, use the transaction ID.
Request
- Payment order
- Deposit order
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/orders/1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80/transactions/705' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/orders/1efbb7e8-2ce7-6e64-997a-d96161cee31b/transactions/706' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99'
Response
The response includes detailed information about that specific transaction, including the blockchain transaction hash.
- Payment order
- Deposit order
{
"id": "705",
"orderId": "1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80",
"status": "completed",
"createdAt": "2024-12-16T07:32:03+00:00",
"updatedAt": "2024-12-16T07:34:04+00:00",
"receiverAddress": "TEX8xhRqrpMp73rHktGV8mUpfkSrbxa6Qt",
"primaryAmount": {
"amount": "1.000000",
"currency": "TRX"
},
"secondaryAmount": {
"amount": "0.27",
"currency": "EUR"
},
"serviceFeeAmount": {
"amount": "0.005000",
"currency": "TRX"
},
"totalAmount": {
"amount": "0.995000",
"currency": "TRX"
},
"hash": "36c8d916bb4f76fe9fc39cee53a5da1fdfc5ed2215940534ba2d1b52f36580de",
"externalId": "123"
}
{
"id": "706",
"orderId": "1efbb7e8-2ce7-6e64-997a-d96161cee31b",
"status": "completed",
"createdAt": "2024-12-16T07:35:01+00:00",
"updatedAt": "2024-12-16T07:37:04+00:00",
"receiverAddress": "TUxvwdfnWFndky11onYUhbsXyfY7ho3NCv",
"primaryAmount": {
"amount": "1.000000",
"currency": "TRX"
},
"secondaryAmount": {
"amount": "0.27",
"currency": "EUR"
},
"serviceFeeAmount": {
"amount": "0.005000",
"currency": "TRX"
},
"totalAmount": {
"amount": "0.995000",
"currency": "TRX"
},
"hash": "544602621e70b53b4a8da8535e6fc73a43ec3d5866d4cc91bdea0d152ce88f3b",
"externalId": "1234"
}
Outgoing orders
Outgoing orders are used to send funds from your balance. They include refunding a previously received payment, making a withdrawal to an external wallet, or sending crypto to another address.
Create a refund order
If you need to issue a refund for a previously completed order, you can create a refund order. Use the orderId of the completed incoming order and specify the amount and destination address.
Request
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/order/refund' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99' \
-d '{
"amount": "0.5",
"assetId": "TRX",
"destinationAddress": "TLpYCfo8m77QBu97Xkn1U8nJjcTSfzZpfe",
"refundOrderId": "1efbb7e3-74e3-68a8-a1ca-8ff1ac166f80"
}'
Response
The orderId returned here is the new outgoing refund order. You can track its status similarly to incoming orders.
{
"orderId": "1ef8a105-c8c5-6798-bd66-d325f4066d2f"
}
Create a withdrawal order
If you need to withdraw funds from your account balance to an external wallet, create a withdrawal order. Ensure that the integrationId you use corresponds to the one that manages the balance you want to withdraw from.
Request
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/order/withdrawal' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99' \
-d '{
"amount": "1",
"assetId": "TRX",
"destinationAddress": "TLpYCfo8m77QBu97Xkn1U8nJjcTSfzZpfe",
"integrationId": "1ef65bda-11ad-63ca-8afe-73770edda314"
}'
Response
The returned orderId can be used to track the withdrawal order’s status.
{
"orderId": "1ef8a10a-cba0-6418-9a3e-e99641328dac"
}
Send crypto
If you want to send crypto from one of your managed addresses to another address, use this endpoint.
Request
curl -L 'https://wallet--crypto-demo.d.apicworld.com/api/gateway/api/v1/order/send' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-API-Key: db41bf-90f909-b34b52-b7c222-fc1e99' \
-d '{
"amount": "1.20",
"assetId": "TRX",
"transferAddress": "TKrzGg5YHerPLypmVq5pb525oDe451mbtM",
"destinationAddress": "TAQZdD8skUdAChM48383TY2LrMWtr6xzc5",
"integrationId": "1ef65bda-11ad-63ca-8afe-73770edda314",
"externalId": "123"
}'
Response
{
"orderId": "1efbb83e-4262-6518-93bd-dfb836b62a9a",
"transactionId": "709"
}