> ## Documentation Index
> Fetch the complete documentation index at: https://docs.etherfuse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Price Feeds

> Get Etherfuse asset prices and FX rates: on-chain via oracles, or over HTTP via the REST API.

Etherfuse asset prices (stablebonds like CETES, principal tokens like MEXe) and FX rates (USD ↔ MXN/BRL) are available two ways:

* **On-chain, via oracles**: for smart contracts and on-chain consumers.
* **Over HTTP, via the REST API**: for backends and apps.

## On-chain oracles

<Card title="RedStone (multi-chain)" icon="signal-stream" href="https://app.redstone.finance/push-feeds">
  RedStone publishes **push price feeds** for Etherfuse assets (e.g. CETES) on **Base, Solana, Polygon, and Stellar**. Browse the feeds ↗
</Card>

## REST API pricing

For server-side pricing and FX rates, the public **`Lookup`** endpoints (no API key required) return Etherfuse's pricing directly:

| Endpoint | Returns |
| - | - |
| [`GET /lookup/exchange_rate`](/v2/api-reference/lookup/list-exchange-rates) | All USD ↔ currency FX rates (e.g. USD/MXN, USD/BRL), with a per-provider `sources` breakdown |
| [`GET /lookup/exchange_rate/usd_to_{currency}`](/v2/api-reference/lookup/get-exchange-rate) | A single USD → currency rate |
| [`GET /lookup/tokens/cost`](/v2/api-reference/lookup/list-token-costs) | Costs for every Etherfuse token in USD and fiat, with per-FX-provider sources for oracle-safety checks |
| [`GET /lookup/tokens/cost/{identifier}`](/v2/api-reference/lookup/get-token-cost) | Cost for one token (by symbol or Solana mint) |
| [`GET /lookup/stablebonds`](/v2/api-reference/lookup/list-stablebonds) | All available stablebonds |

```bash theme={null}
# FX rate (public, no API key needed)
curl https://api.etherfuse.com/lookup/exchange_rate/usd_to_mxn

# Cost of one token, by symbol (case-insensitive) or mint
curl https://api.etherfuse.com/lookup/tokens/cost/mexe
```

### 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.

Stablebond pricing moved to the `BondPrice` account, a PDA derived under the Solana stablebond program with seeds `["bond_price", mint]`. It supplies the bond's price and rate; wallets use the mint's Token-2022 interest-bearing extension only for display. `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](https://github.com/etherfuse/stablebond/tree/main/clients/js/src/generated/instructions) 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:

```json theme={null}
{
  "CETES": {
    "token_symbol": "CETES",
    "token_mint": "CETES7CKqqKQizuSN6iWQwmTeFRjbJR6Vw2XRKfEDR8f",
    "token_kind": "bond",
    "currency": "MXN",
    "token_cost_in_fiat": "1.177336",
    "token_cost_in_usd": "0.069404",
    "fiat_exchange_rate_with_usd": "16.96343",
    "current_basis_points": 554,
    "sources": {
      "d2ce2919-082f-4d60-8fbb-a15b3b570e57": { "exchange_rate": "16.96343", "token_cost_in_usd": "0.069404", "updated_at": 1787243387 },
      "8e1e2967-0283-42dd-bb06-e49193c368d2": { "exchange_rate": "16.96425", "token_cost_in_usd": "0.069401", "updated_at": 1787243417 }
    }
  },
  "MEXE": {
    "token_symbol": "MEXe",
    "token_mint": "MEXeQE5UjuusUoyS2KxbUXp6o21YbbBJaNvPMMEfr4y",
    "token_kind": "principal_token",
    "underlying_bond_symbol": "CETES",
    "currency": "MXN",
    "token_cost_in_fiat": "1.000000",
    "token_cost_in_usd": "0.058950",
    "fiat_exchange_rate_with_usd": "16.96343",
    "current_basis_points": 0,
    "sources": {
      "d2ce2919-082f-4d60-8fbb-a15b3b570e57": { "exchange_rate": "16.96343", "token_cost_in_usd": "0.058950", "updated_at": 1787243387 },
      "8e1e2967-0283-42dd-bb06-e49193c368d2": { "exchange_rate": "16.96425", "token_cost_in_usd": "0.058947", "updated_at": 1787243417 }
    }
  }
}
```

`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, not to the principal-token holder. `payment_mint` names the token a bond purchase settles in and is absent on principal tokens.

Use `/lookup/tokens/cost` to price both stablebonds and principal tokens.

Browse these under **Lookup** in the API reference, starting at [List token costs](/v2/api-reference/lookup/list-token-costs).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.