Requirements to start the flow.

API key

Have an API key (Tutorial here).

Limit order flow

Limit orders on Rio allow you to specify a limit net price, which is the all-in price including all taxes and fees that you are targeting. In this walkthrough, we will go through the process of creating a limit buy order.
1

Register the deposit crypto address

Before creating a buy order, you need to register the crypto address that will receive the funds. This only needs to be done once per address-currency pair.

Go to create a new crypto address

2

Create a limit order quote

When creating a limit order quote, you need to specify a priceType of limit. You also need to specify the limit net price in the limitNetPrice field.

Go to create quote endpoint

The quote response will include a marketPrice field. This is the mid market price that will trigger the order, calculated backwards from your specified limitNetPrice using your account’s taxes and fees.
3

Place the limit order

No extra parameters are needed to create a limit order.

Go to create order endpoint

4

Order enters 'Waiting for target price' status

After placing the limit order, it will enter a status called awaitingLimitPriceCondition. The order will remain in this status until:
  • The market organically reaches your Target mid market price, OR
  • The Rio ops team or one of Rio´s trading algorithms decide to trigger your order early if they can stretch to that price
You can monitor the order status by polling or subscribing to webhooks.

Go to check order status

5

Order execution and trigger

Once the target price is reached and the order is triggered, you’ll receive an email notification and the order will continue with the normal order lifecycle. Wait for the order to have a status of awaitingPayment.
6

Pay for the order

Send payment to the bank account specified in the paymentInstructions field of the order. Do not forget to include the reference number.
7

Confirm payment (optional)

This final step is only necessary if the payment is made in USD outside of the United States, or if the order was placed in our sandbox environment and you want to simulate a successful payment.

Go to confirm payment

8

Wait for funds

Rio will send the funds to your wallet in the next few minutes.

Important notes about limit orders

Required permissions: limit orders are not enabled by default. Please contact support to enable this feature for your account.
Price protection: You cannot specify a limit order at a price that is worse than the current mid market price. If you attempt to do so, the system will automatically adjust the limit net price to what it would be in a market order.
Price rounding: In limit order quotes, you may notice that the limitNetPrice is not exactly the same as the netPrice (may differ by a few decimals). This is due to rounding requirements for banking rails compliance - for example, we cannot send nor receive 543.459MXN,itwouldneedtoberoundedto543.459 MXN, it would need to be rounded to 543.46 MXN. Because of this, some net prices are mathematically impossible. The system ensures the limitNetPrice and netPrice are as close to identical as mathematically possible.
Scheduling orders: You can specify a timeInForceStartsAt and timeInForceEndsAt to schedule a limit order to be executed from a specific time and/or to a specific time.
Daily re-quoting for T+n orders: For T+n orders, the system will re-quote the order every day at 12:00 AM in the time zone of the corresponding order country. This means you may see a new quoteId in the order document as well as a new marketPrice field. The limitNetPrice, however, will remain unchanged. This is to account for any changes in schedule. This does not affect regular default settlement orders.
Order cancellation: You can cancel a limit order while it’s in awaitingLimitPriceCondition status at any time. Doing so will permanently cancel and delete the order.
Early execution: While limit orders are primarily triggered when the market organically reaches your target price, the Rio ops team or one of Rio´s trading algorithms may decide to trigger your order early if they can achieve your specified price.
Partial fills: Limit orders can get partially filled. When this happens, the order gets split into two. The original order gets updated with the new amount that was filled and the new order has the remainder at the same limit price. The new order also has a parentOrderId field that references the original order.
Geographic restriction: Limit orders cannot be placed in the United States.
Disclaimer: All technical documentation is subject to the terms and conditions, which apply supplementarily and take precedence over the documentation.