CoinGecko integration API
Public, unauthenticated JSON endpoints for USDT-margined perpetual markets on Eterna. Use these for exchange listing integrations (CoinGecko derivatives, Section B).
Base URL
| Environment | Base URL |
|---|---|
| Production | https://api.eterna.exchange |
| Staging | https://api.staging.eterna.exchange |
All paths below are relative to the base URL. No API key is required.
Endpoints
| Method | Path | Cache (API) | Description |
|---|---|---|---|
| GET | /integrations/coingecko/contracts | ~5 s | Snapshot of all listed perpetual contracts |
| GET | /integrations/coingecko/orderbook | ~2 s | Level-2 order book for one pair |
Contracts
GET /integrations/coingecko/contracts
Returns a JSON array. Each object describes one perpetual contract.
Key fields (listing):
| Field | Description |
|---|---|
ticker_id | Pair id with underscore, e.g. BTC_USDT |
last_price | Last price in quote currency |
base_volume | 24h volume in base asset (Eterna executions) |
target_volume | 24h volume in quote (USDT) |
open_interest | Open interest size (base units, Eterna book) |
open_interest_usd | Open interest notional (USD / USDT) |
bid / ask | Best bid and ask |
high / low | 24h high and low |
index_price | Index / mark reference |
funding_rate | Current funding rate |
next_funding_rate | Next funding rate (falls back to current when unknown) |
product_type | Perpetual |
contract_type | Vanilla |
Prices and top-of-book come from the market data feed. Volume and open interest reflect trading activity on Eterna (aggregated from platform executions and open positions), not global market-wide statistics.
Live example: Production contracts
Sample response (one contract, truncated):
{
"ticker_id": "BTC_USDT",
"base_currency": "BTC",
"target_currency": "USDT",
"last_price": 78418.5,
"base_volume": 0.12,
"target_volume": 9400.5,
"bid": 78418.5,
"ask": 78418.6,
"high": 78546.5,
"low": 75673.2,
"product_type": "Perpetual",
"open_interest": 0.14,
"open_interest_usd": 10979.78,
"index_price": 78453.92,
"index_currency": "USDT",
"funding_rate": 0.0001,
"next_funding_rate": 0.0001,
"next_funding_rate_timestamp": 1793808000000,
"contract_type": "Vanilla",
"contract_price_currency": "USDT",
"contract_price": 78418.5
}
Order book
GET /integrations/coingecko/orderbook?ticker_id=BTC_USDT&depth=100
| Query | Required | Default | Notes |
|---|---|---|---|
ticker_id | Yes | - | Same format as ticker_id in contracts |
depth | No | 100 | Total levels across both sides; 0 returns up to 500 per side |
Response:
{
"ticker_id": "BTC_USDT",
"timestamp": 1685177482652,
"bids": [["78418.50", "0.54321"]],
"asks": [["78418.60", "0.12345"]]
}
bids and asks are arrays of [price, quantity] string pairs, best price first.
Unknown or delisted pairs return HTTP 400 with a short error message.
Symbol format
- API / CoinGecko:
BASE_QUOTE(underscore), e.g.ETH_USDT - Internal routing uses concatenated symbols (e.g.
ETHUSDT) only inside the platform; integrators should useticker_idas returned by/contracts.
Related
- Public markets overview (prices, 24h volume, open interest): app.eterna.exchange/markets/overview