Orders – Deposit (ARS -> Crypto)

The Deposit flow allows partners to convert fiat (ARS) into a supported crypto asset. The flow is quote-based and asynchronous. Partners first request a price quote and then create a deposit order using the returned quote reference.

Important: Quotes are time-limited. Create the deposit order promptly after receiving a quote to avoid expiry.

High-level Flow

A typical deposit follows six steps from quote to crypto delivery.

1

Request price quote

Get a real-time ARS -> crypto price quote for the selected asset and network.

2

Create deposit order

Submit the quote reference along with the destination crypto address to create the order.

3

Display payment instructions

Show the local bank transfer details to the user so they can complete the fiat payment.

4

SettleRamp confirms fiat receipt

Once the bank transfer is detected, SettleRamp confirms the fiat leg of the order.

5

Crypto sent to destination wallet

The crypto asset is sent to the wallet address provided during order creation.

6

Partner receives status updates

Status changes are delivered via the statusWebhookUrl and can also be polled at any time.

Create Order Price (Deposit Quote)

Request a real-time price quote for a ARS-to-crypto conversion. The returned quoteHash is required to create the deposit order.

POST{{apiUrl}}/settle/api/orders/price

Headers

Content-Type: application/json

Note: Include Authorization: Bearer {{_api_token}} if your environment requires it.

Request Body

{
     "fromAsset": "{{depositFiatAsset}}",
     "fromAmount": {{depositFiatAmount}},
     "toAsset": "{{cryptoAsset}}",
     "network": "{{cryptoNetwork}}",
     "kycId": "{{_kycId}}"
   }

Body Fields

FieldTypeDescription
fromAssetstringSource fiat asset (always "ARS")
fromAmountnumberAmount of fiat to convert
toAssetstringTarget crypto currency (e.g. USDT, USDC, ARST)
networkstringBlockchain network (e.g. stellar, gnosis, base)
kycIdstringKYC-approved customer identifier

Create Deposit Order

Creates a new deposit order using the quoteHash returned from the pricing endpoint. Key details:

  • Requires quoteHash returned from the pricing endpoint.
  • Requires destination crypto address.
  • Partner includes its own transactionRef for idempotency.
  • statusWebhookUrl enables async notifications.
POST{{apiUrl}}/settle/api/orders/deposits

Headers

Authorization: Bearer {{_affiliate_api_token}}Content-Type: application/json

Request Body

{
    "walletAddress": "{{walletAddress}}",
    "memo": "{{optinalMemo}}",
    "paymentMethod": "{{paymentMethod}}",
    "transactionRef": "{{transactionRef}}",
    "quoteHash": "{{_depositQuoteHash}}",
    "statusWebhookUrl": "{{statusWebhookUrl}}"
}

Get Deposit Status

Partners can query the status of a specific deposit order at any time using the order ID returned during creation.

GET{{apiUrl}}/settle/api/orders/deposits/{{_dOrderId}}

Headers

Authorization: Bearer {{_affiliate_api_token}}

List Deposit Orders

Allows partners to retrieve a paginated list of deposit orders with optional status filtering.

GET{{apiUrl}}/settle/api/orders/deposits

Headers

Authorization: Bearer {{_affiliate_api_token}}

Query Parameters

ParameterTypeDescription
pagenumberPage number for pagination
limitnumberNumber of results per page
statusstringFilter by order status

Notes

  • Orders are asynchronous. The response confirms creation, not completion.

  • Status may change over time (created, pending, confirmed, rejected, etc.).

  • Partners should rely on both polling and callbacks for reliability.

  • transactionRef should be unique per partner to avoid duplicates.

Next Steps