Endpoint
https://api.saber.money/api/v2/wallet/transaction/pool/buy
Sample Request
Sample request:curl --location '{{BASE_URL}}/api/v2/wallet/transaction/pool/buy' \
--header 'X-Timestamp: {{timestamp}}' \
--header 'X-Client-Id: {{CLIENT_ID}}' \
--header 'X-Request-Id: {{request_id}}' \
--header 'X-User-Id: {{user_id}}' \
--header 'X-Secret-Key: {{SECRET_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"from_currency": "EUR",
"to_currency": "USDT",
"from_amount": 12,
"payment_method": "open_banking"
}'
{
"success": true,
"data": {
"id": "01963e1c-77a0-7acc-b5d3-44e5e67dac8f",
"transaction_type": "POOL_BUY",
"status": "PROCESSING",
"fiat_amount": "12",
"crypto_amount": "12.670109",
"fiat_symbol": "EUR",
"crypto_symbol": "USDT",
"exchange_rate": "0.9471110311679244",
"failure_code": "",
"failure_desc": "",
"created_at": 1744798775000,
"redirect_url": "https://checkout.sand.getivy.de/?session=67ff843b1a71cb27e7c7f0d6&ivyAuthCode=01JRZ1S1W5GP0B2GPQHY9GJV59"
}
}
Required Parameters
| Parameter | Type | Description |
|---|---|---|
from_currency | string | The fiat currency symbol. Supported values: INR, EUR, GBP. Required only when quote_id is not supplied. |
to_currency | string | The cryptocurrency symbol. Currently supported: USDT (other tokens supported on request). Required only when quote_id is not supplied. |
from_amount | number | Amount of fiat to convert. Provide exactly one of from_amount or to_amount (providing both, or neither, is rejected). |
payment_method | string | The payment method to be used. Example: bank_transfer. Required only when quote_id is not supplied. |
Optional Parameters
| Parameter | Type | Description |
|---|---|---|
to_amount | number | Desired crypto amount to receive. Provide exactly one of from_amount or to_amount (providing both, or neither, is rejected). |
quote_id | string | UUID of a locked price quote (price-lock flow). When provided, from_currency, to_currency, payment_method and the amount are taken from the locked quote and become optional. |
source_id | string | IBAN of sender in case of “sepa_transfer” payment method |
bank_transaction_id | string | UTR of transaction in case of “upi_transfer” and “bank_transfer”; “IBAN_Transaction-Reference” in case of “sepa_transfer” |
uuid | string | Merchant’s custom transaction ID. Must be a valid UUID string. If provided, it is used as the transaction identifier and returned as id in the response (an invalid UUID is rejected with an error). |
Response Details
| Item | Type | Description |
|---|---|---|
success | boolean | Indicates whether the API call was successful or not. |
fiat_symbol | string | The symbol of the fiat currency used in the transaction (e.g., INR, EUR, GBP). |
crypto_amount | string | The amount of cryptocurrency purchased (decimal string, e.g. "12.670109"). |
redirect_url | string | applicable for openbanking (URL for payment) |
id | string | The unique identifier for the transaction generated by the system. |
crypto_symbol | string | The symbol of the cryptocurrency purchased (e.g., USDT). |
failure_desc | string | A description of the failure if the transaction was unsuccessful. |
created_at | number | The timestamp when the transaction was created, in milliseconds since the Unix epoch. |
fiat_amount | string | The amount of fiat currency used in the transaction (decimal string, e.g. "12"). |
status | string | The status of the transaction (e.g., PROCESSING, COMPLETED, FAILED). |
failure_code | string | A code indicating the reason for failure, if applicable. |
exchange_rate | string | The exchange rate applied for the transaction (decimal string, e.g. "0.9471110311679244"). |
payment_intent | string | Payment intent link returned for the transaction, when applicable. |
eta | number | Estimated time (in ms) associated with the transaction, when applicable. |
Key Notes
- Pass a custom transaction ID via
uuidfor tracking on your own systems. - Supported fiat: INR, EUR, GBP. Supported crypto: USDT (others available on request).
- Requires a configured pool account.