Transactions
The Transactions API allows you to efficiently manage and retrieve orders associated with your account.
Pre-Requisites
Before you can POST transactions, you need to have the following:
- Get KYC approved by Adesic . Please note - if you get redirected to the home page, you are already KYC approved.
- POST your bank account & retrieve your bank account ID
- POST your wallet & retrieve your wallet ID
Introduction
Creating and managing transactions with the Transactions API is a straightforward process:
- Create Transaction (POST):
- Use the
/v2/transactionsendpoint. - Provide essential details like blockchain type, currency pairs, quantities, and associated wallet and bank account information in the request body. More on this below.
- Results in successful order creation with timestamp and transaction type details.
- Use the
- Retrieve All Orders (GET):
- Utilize the
/v2/transactionsendpoint with a GET request. - Retrieve all orders linked to the provided apiKey.
- Access detailed information such as IDs, blockchain specifics, currencies involved, and timestamps.
- Upcoming filtering options allow you to refine results.
- Utilize the
- Retrieve Specific Order (GET):
- Access details of a specific order using the
/v2/transactions/:idendpoint. - Provide the order’s ID and apiKey.
- Retrieve comprehensive details, including transaction types, completion status, and precise currency exchange specifics.
- Access details of a specific order using the
Transactions API Endpoints
Post Transaction
POSThttps://api.adesic.com/v2/transactions
Returns a 201 status code upon successful query. Then returns the successful order. Requires user to have associated bank account and wallet.
Headers
| Name | Type | Description |
|---|---|---|
| apiKey* | string | Blockchain ID |
Request Body
The transaction request body contains a top-level transaction object. The transaction object contains the three fields in the following table. The next level contains the information inside the transaction.sourceOrder and transaction.destinationOrder objects.
| Field Name | Type | Description |
|---|---|---|
| transaction* | object | Transaction details. |
| transaction.paymentRail* | string | How the fiat-side of the transaction will be settled. |
| transaction.sourceOrder* | object | Information about where you are sending the currency from. |
| transaction.destinationOrder* | object | Information about where you are sending the currency to. |
The transaction.sourceOrder and transaction.destinationOrder objects are identical in structure. It is worth noting that not all fields are required for each destination and source order. However, a combination of all fields are required amongst the entire transaction. Please reference transaction customization for more information. The fields for source and destination order request objects are outlined below.
| Order Field Name | Type | Description |
|---|---|---|
| walletId* | string | The user’s wallet ID associated with the order. |
| blockchain* | string | Blockchain used for the order. |
| currency* | string | Currency of the order. |
| quantity* | string | Quantity of the currency in the order. |
| bankAccountId* | string | The user’s bank ID which the fiat will be sent or received. |
201: Created Success
{
"id": "txn-123456815",
"type": "OFF_RAMP",
"createdAt": "2025-02-02T01:40:48.492",
"completedAt": null,
"updatedAt": "2025-02-02T01:40:48.487",
"feeUsd": "0.5",
"priceUsd": "50",
"sourceOrder": {
"bankAccountId": null,
"blockchain": "ethereum",
"currency": "USDC",
"quantity": "50",
"walletId": "wal-123456790"
},
"destinationOrder": {
"bankAccountId": "bac-123456788",
"blockchain": null,
"currency": "USD",
"quantity": "49.5",
"walletId": null,
"walletAddress": "0x065149eab6eFa05F4639Da6305B58C91BD92d456"
}
}Transaction Customization
Selecting a Payment Rail
Adesic supports ACH and WIRE as payment rails. You can select the payment rail by providing one of the former values in the transaction.paymentRail field. Please note that for on ramping, we only support WIRE transactions. This means that if you would like to buy crypto with a fiat currency, you must send Adesic a wire transfer. For off ramping, we support both ACH and WIRE transactions. This means that if you would like to sell crypto for a fiat currency, you can choose to receive USD directly in your bank account via either WIRE or ACH.
WIRES: Cost $25 when OFF RAMPing. We do not charge for WIRES when ON RAMPing, however, your bank may charge you a wire fee. When off ramping via wire, you will receive your funds in your bank account within 1-2 business days.
ACH: Transactions are completely free on the Adesic network. ACH transactions can take 2-5 business days to settle. ACH transactions are only available for off ramping.
Selecting a Blockchain
Please ensure that when selecting a blockchain, that you are using a wallet address that has been registered to that blockchain. For example, if you are using the Ethereum blockchain, you must use an Ethereum wallet address. If you are using the Avalanche blockchain, you must use an Avalanche wallet address. For wallet addresses that are usable across multiple blockchains, you must register the wallet address to each blockchain that you would like to use it with.
Off Ramp Transaction
Off ramp transactions are inferred from the request. If the source order contains wallet and blockchain information and the destination order contains bank account information, then the transaction is an off-ramp transaction. Off ramp transactions may be settled in your bank account via ACH or WIRE.
On Ramp Transaction
On ramp transactions are inferred from the request. If the source order contains bank account information and the destination order contains wallet and blockchain information, then the transaction is an on-ramp transaction. On ramp transactions are settled directly in your wallet.
Get Transactions
GEThttps://api.adesic.com/v2/transactions
Returns an array of all the orders for an associated apiKey.
Headers
| Name | Type | Description |
|---|---|---|
| apiKey* | string | Your Adesic API Key |
200: OK Success
[
{
"id": "txn-123456804",
"type": "ON_RAMP",
"paymentRail": "WIRE",
"priceUsd": "100.00",
"feeUsd": "2.50",
"createdAt": "2025-02-13T23:21:05.666",
"completedAt": null,
"updatedAt": "2025-02-13T23:21:05.665",
"userId": "usr-123456788",
"sourceOrder": {
"id": "ord-123456887",
"bankAccountId": "bac-123456788",
"blockchain": null,
"createdAt": "2025-02-13T23:21:05.666",
"currency": "USD",
"quantity": "100.00",
"updatedAt": "2025-02-13T23:21:05.659",
"walletId": null
},
"destinationOrder": {
"id": "ord-123456884",
"bankAccountId": null,
"blockchain": "ethereum",
"createdAt": "2025-02-13T23:21:05.666",
"currency": "ETH",
"quantity": "0.03647559689040861",
"updatedAt": "2025-02-13T23:21:05.659",
"walletId": "wal-123456788"
}
},
{
"id": "txn-123456807",
"type": "OFF_RAMP",
"paymentRail": "WIRE",
"priceUsd": "100.00",
"feeUsd": "27.50",
"createdAt": "2025-02-13T23:21:24.592",
"completedAt": null,
"updatedAt": "2025-02-13T23:21:24.589",
"userId": "usr-123456788",
"sourceOrder": {
"id": "ord-123456881",
"bankAccountId": null,
"blockchain": "ethereum",
"createdAt": "2025-02-13T23:21:24.592",
"currency": "ETH",
"quantity": "0.03740792973294478",
"updatedAt": "2025-02-13T23:21:24.589",
"walletId": "wal-123456788"
},
"destinationOrder": {
"id": "ord-123456886",
"bankAccountId": "bac-123456788",
"blockchain": null,
"createdAt": "2025-02-13T23:21:24.592",
"currency": "USD",
"quantity": "72.5",
"updatedAt": "2025-02-13T23:21:24.589",
"walletId": null
}
}
]Get Transaction by ID
GEThttps://api.adesic.com/v2/transactions/{transactionId}
Returns an object for the transactionId for an associated apiKey.
Query Parameters
| Name | Type | Description |
|---|---|---|
| transactionId* | string | Transaction ID |
Headers
| Name | Type | Description |
|---|---|---|
| apiKey* | string | Your Adesic API Key |
200: OK Success
{
"id": "txn-123456815",
"type": "OFF_RAMP",
"createdAt": "2024-02-02T01:40:48.492",
"completedAt": null,
"updatedAt": "2024-02-02T01:40:48.487",
"sellOrder": {
"id": "ord-123456870",
"bankAccountId": null,
"blockchain": "avalanche",
"createdAt": "2024-02-02T01:40:48.492",
"currency": "AVAX",
"feeUsd": null,
"priceUsd": "6.85",
"quantity": ".2004",
"updatedAt": "2024-02-02T01:40:48.486",
"walletId": "wal-123456790"
},
"buyOrder": {
"id": "ord-123456871",
"bankAccountId": "bac-123456788",
"blockchain": null,
"createdAt": "2024-02-02T01:40:48.492",
"currency": "USD",
"feeUsd": "0.17",
"priceUsd": "6.85",
"quantity": "6.67",
"updatedAt": "2024-02-02T01:40:48.486",
"walletId": null,
}
}Copy & Paste Code
POST Transactions
cURL
curl -X POST -H "api-key: YOUR_API_KEY" https://api.adesic.com/v2/transactions \
-H "Content-Type: application/json" \
-d '{
"transaction": {
"sourceOrder": {
"walletId": "wal-123456790",
"blockchain": "avalanche",
"currency": "AVAX",
"quantity": ".2004"
},
"destinationOrder": {
"bankAccountId": "bac-123456788",
"currency": "USD"
}
}
}'GET Transactions
cURL
curl -H "api-key: YOUR_API_KEY" "https://api.adesic.com/v2/transactions"Transactions Response Object
POST Transactions
Example URL: https://api.adesic.com/v2/transactionsÂ
{
"id": "txn-123456815",
"type": "OFF_RAMP",
"createdAt": "2024-02-02T01:40:48.492",
"completedAt": null,
"updatedAt": "2024-02-02T01:40:48.487",
"sellOrder": {
"id": "ord-123456870",
"bankAccountId": null,
"blockchain": "avalanche",
"createdAt": "2024-02-02T01:40:48.492",
"currency": "AVAX",
"feeUsd": null,
"priceUsd": "6.85",
"quantity": ".2004",
"updatedAt": "2024-02-02T01:40:48.486",
"walletId": "wal-123456790"
},
"buyOrder": {
"id": "ord-123456871",
"bankAccountId": "bac-123456788",
"blockchain": null,
"createdAt": "2024-02-02T01:40:48.492",
"currency": "USD",
"feeUsd": "0.17",
"priceUsd": "6.85",
"quantity": "6.67",
"updatedAt": "2024-02-02T01:40:48.486",
"walletId": null,
"walletAddress": "0x065149eab6eFa05F4639Da6305B58C91BD92d456"
}
}Transactions Response Attributes
| Attribute Name | Data Type | Description |
|---|---|---|
| id | string | Unique identifier for the transaction. |
| type | string | Type of transaction (OFF_RAMP, ON_RAMP). |
| createdAt | string | Timestamp indicating when the transaction was created. |
| completedAt | string | Timestamp indicating when the transaction was completed. |
| updatedAt | string | Timestamp indicating when the transaction was last updated |
| sellOrder | object | Information about the sell order. |
| buyOrder | object | Information about the buy order. |
| id | string | Unique identifier for the order. |
| bankAccountId | string | ID of the bank account associated with the order. |
| blockchain | string | Blockchain used for the order. |
| createdAt | string | Timestamp indicating when the order was created. |
| currency | string | Currency to be sold or bought. |
| feeUsd | string | Fee in USD for the order. |
| priceUsd | string | Price in USD for the order. |
| quantity | string | Quantity of the currency to be bought or sold. |
| updatedAt | string | Timestamp indicating when the order was last updated. |
| walletId | string | ID of the wallet associated with the order. |