How it works
When a customer buys a bill withautomatic_rollover set to true, we’ll automatically place a new buy order for a similar bill before the current one matures. The goal is to keep the customer continuously invested in the same maturity bucket (e.g. 3-month or 6-month bills) without gaps.
Timing
We place the rollover order before the bill matures — early enough that the new buy order can settle by the maturity date. The exact timing depends on the instrument’s settlement cycle:| Settlement cycle | Rollover placed | Example |
|---|---|---|
| T+1 (US, GB bills) | 1 business day before maturity | Maturity on Monday → rollover placed on Friday |
| T+2 (all other bills) | 2 business days before maturity | Maturity on Monday → rollover placed on Thursday |
Instrument selection
We select a replacement bill in the same country and the same maturity period as the original. For example, if the customer held a 3-month French bill, we’ll roll them into the current 3-month French bill (called the “on-the-run” bill).What happens to the portfolio
The rollover creates a brief period where the customer holds both the maturing bill and the new bill. Here’s the sequence:We place the rollover buy order
A buy order is placed for the new bill, using the nominal value of the maturing position as the cash amount. This order has
purpose set to rollover.The new position is created
Once the rollover order executes, the customer has a new position in the replacement bill. Cash is debited from the account to fund this purchase — this means the account’s cash balance may go negative until the old bill matures and pays out.
- The old position is closed.
- The new position is open with
automatic_rolloverenabled, so it will roll over again at its own maturity. - The cash balance is restored once the matured bill pays out.
Rollover cutoff
Customers can toggleautomatic_rollover on or off for a position, but there’s a cutoff: changes are locked 4 days before maturity. After that point, the rollover will proceed as previously configured.
Webhook events
Rollover orders fire the same order events as any other order (order.placed, order.filled, etc.). You can distinguish them by checking the purpose field on the order — rollover orders have purpose set to rollover.