Available Tenors
| Tenor | Duration (seconds) | Settlement |
|---|---|---|
| 1 Day | 86,400 | Next business day at the pair’s fixing time |
| 1 Week | 604,800 | Same weekday next week at the fixing time |
| 1 Month | 2,592,000 (30 days) | 30 days later at the fixing time |
| 3 Months | 7,776,000 (90 days) | 90 days later at the fixing time |
| 6 Months | 15,552,000 (180 days) | 180 days later at the fixing time |
| 1 Year | 31,536,000 (365 days) | 365 days later at the fixing time |
A 60-second test tenor is available in local development environments for rapid testing. It is not
enabled on Sepolia or any public deployment.
Dynamic Tenor Registry
Tenors are not a fixed enum. They live in an onchain registry (Config.getEnabledTenors()) that
stores uint32 seconds values. The seconds value is the tenor identifier — there is no separate
label or ordinal layer.
What this means in practice:
- The protocol ships with the six defaults above plus one test tenor.
- Operators can register new maturities — e.g. 2 weeks, 9 months, 18 months — with a single admin transaction, without a contract upgrade.
- Every consumer (app, CLI, agent tooling, analytics) reads the live registry and surfaces new tenors automatically.
- Positions store their maturity as seconds at open time, so changes to the registry never retroactively affect existing trades.
Choosing the Right Tenor
Short (1D / 1W)
Event-driven and short-horizon trades
- Lowest forward premium/discount
- Fast settlement
- Ideal around specific data releases (NFP, CPI, central bank meetings)
- Less time for adverse moves, but also less time for the trade to work
Medium (1M / 3M)
Monthly hedging and quarterly views
- Moderate forward premium/discount
- Matches common corporate invoice and payroll cycles
- Aligned with how interbank FX forward quotes are priced
- Practical middle ground — enough time for a macro move to develop
Long (6M / 1Y)
Treasury and positioning
- Largest forward premium/discount
- Suited to annual budget cycles, subscription revenue hedging, and structured cash flows
- Use higher margin (lower leverage) — EUR/USD can move 5–10% over a year
- Liquidity and forward curve depth still evolving in early milestones
How Maturity Dates Work
When you open a position, the protocol computes your fixing timestamp — the exact moment when your position will settle.Add tenor duration to open time
The raw maturity is your open time plus the tenor duration in seconds. A 3-month position
opened Monday at 2 PM UTC has a raw maturity 90 days later at 2 PM UTC.
Adjust to next business day at the pair's fixing time
The fixing is set to the pair’s configured fixing time on the next business day at or after
the raw maturity. Weekend dates roll forward to Monday.
The fixing time is per-pair. EUR/USD fixes at 4 PM UTC (aligned with the WM/Reuters London
Fix); USD/JPY fixes at 6 AM UTC (aligned with the Tokyo 15:00 JST fix). See
Supported Pairs for each pair’s fixing time.
How Tenor Affects Forward Pricing
Longer tenors produce larger forward premiums because there is more time for the interest rate differential between the base and quote currencies to accumulate.Example: forward prices at different tenors
Example: forward prices at different tenors
Assume EUR/USD spot = 1.08000 and a forward rate of 1.5% annualized:
Longer tenors scale roughly linearly with duration for small rate differentials. At higher forward
rates or longer tenors the compounding gap grows.
| Tenor | Forward Price | Premium Over Spot |
|---|---|---|
| 1 Day | 1.080044 | 0.4 pips |
| 1 Week | 1.080311 | 3.1 pips |
| 1 Month | 1.081331 | 13.3 pips |
| 3 Months | 1.083994 | 39.9 pips |
| 6 Months | 1.087988 | 79.9 pips |
| 1 Year | 1.096000 | 160.0 pips |