Skip to content

Protocol specification

Opening a position

A depositor sends approved collateral with a short-lived oracle quote and selects 6, 9, or 12 months. The Vault verifies the quote's signature, network domain, contract, asset, expiry, and nonce. It stores immutable economics and mints one native position NFT whose sub-ID is the hash of the position ID.

The Worker validates O2's FUEL/USDC PriceUpdated event and signs its conservative bid for the selected collateral asset. On testnet, FUEL and stFUEL use exactly the same FUEL price per unit while remaining distinct assets in the signed quote and Vault position. This 1:1 testnet simulation is not an independent stFUEL price. Mainnet stFUEL remains disabled until an authoritative conversion rate is approved.

The fixed USDC obligation is:

text
opening USD value = collateral raw × price e6 / 1e9
USDC return = opening USD value × 10% × term seconds / 365 days

The current NFT holder owns the redemption rights. The application transfer method emits an indexable transfer event; ordinary Fuel native-asset transfers remain valid and must be reconciled from wallet/UTXO state.

Maturity

At or after maturity the owner sends the position NFT to claim_matured. The Vault burns it and atomically returns the original collateral plus promised USDC. Failure to hold either asset reverts the full transaction.

Early exit

Every term starts with a 25% early-exit penalty. Shorter terms earn lower total fixed returns at the same 10% annual rate. From opening until the start of the final 24 hours, the penalty declines linearly toward 10%. It remains 10% during the final day and becomes zero at maturity.

Starting unbonding requires sending the NFT to the Vault. The calculated rate and beneficiary are fixed at that point. After 14 days, only that beneficiary can claim collateral less the rounded-up penalty. All promised USDC is forfeited.

Managed custody

The manager may send FUEL or stFUEL only to allowlisted strategy identities. Returns are deposited back through the Vault and reduce deployed accounting. Principal liabilities and deployed amounts are queryable. Pausing blocks new deposits, transfers, unbonding starts, and market activity but does not grant seizure rights.

Management and oracle signer rotation are on-chain. Manager transfer uses propose/accept. Existing position economics cannot be edited.

Position market

The BondMarket accepts only position NFTs from the configured Vault. Sellers choose an approved FUEL or USDC quote asset and exact price. The NFT is escrowed until cancellation or purchase.

A purchase atomically transfers:

  • NFT to buyer
  • sale price minus fee to seller
  • 10 bp rounded-up fee into owner-withdrawable fee accounting

Price changes use cancel and relist. There are no bids or auctions.

Managed custody · Testnet preview · Audit pending