- On-chain, via oracles — for smart contracts and on-chain consumers.
- Over HTTP, via the REST API — for backends and apps.
On-chain oracles
Switchboard (Solana)
Switchboard On-Demand serves Etherfuse FX rates (e.g. MXN/USD) on Solana — the same rates used in token pricing/minting. View the live feeds ↗
RedStone (multi-chain)
RedStone publishes push price feeds for Etherfuse assets (e.g. CETES) on Base, Solana, Polygon, and Stellar. Browse the feeds ↗
REST API pricing
For server-side pricing and FX rates, the publicLookup endpoints (no API key required) return Etherfuse’s pricing directly:
Token costs
GET /lookup/tokens/cost covers both kinds of Etherfuse token:
- Stablebonds (
token_kind: "bond") such as CETES, whose price accrues with the underlying bond’s rate. - Principal tokens (
token_kind: "principal_token") such as MEXe, which wrap a bond and hold par with its currency, so 1 MEXe is 1 MXN.
BondPrice account, a PDA derived under the Solana stablebond program with seeds ["bond_price", mint]. It supplies the bond’s price and rate; the mint’s Token-2022 interest-bearing extension serves wallet display only. BondPrice gives the value of one whole token in the bond’s currency, and quotes use its full price precision. Wallet balance valuations still return six decimal places.
The stablebond program added a required BondPrice account to priced instructions (one per mint for the two-mint swap). See the SDK instruction definitions for each instruction’s required accounts.
The response is keyed by uppercased token symbol. Each entry carries the token’s cost in its denomination currency (token_cost_in_fiat) and in USD (token_cost_in_usd), plus a sources map giving the exchange rate and derived USD cost from each FX provider, so you can run your own oracle-safety checks across providers:
sources keys are Etherfuse FX provider ids, and updated_at is a Unix timestamp in seconds. exchange_rate is always the raw USD to currency rate as the provider published it, so on a principal token it reads the same as on the bond it wraps.
Two fields differ by token kind. current_basis_points is the bond’s annualized rate, and it is always 0 on a principal token because the coupon accrues to the bond rather than to the principal-token holder. payment_mint names the token a bond purchase settles in and is absent on principal tokens.
GET /lookup/bonds/cost and GET /lookup/bonds/cost/{identifier} are deprecated. They keep working with their existing bond_* fields and have no sunset date, but they cover only stablebonds, so they cannot price MEXe. Move to /lookup/tokens/cost. See Deprecations.