GET /api/tickers

Retrieve all DAO tickers with pricing and volume information

GET /api/tickers

Overview

The tickers endpoint returns comprehensive trading information for all DAOs discovered in the Futarchy protocol. This endpoint automatically discovers and aggregates data without requiring manual configuration.

This endpoint is fully compatible with CoinGecko's DEX API specification.

Request

bash
GET /api/tickers

No Parameters Required

This endpoint requires no query parameters. It automatically returns all active DAOs with valid pools.

Response

ticker_idstringrequired

Unique identifier for the trading pair in format {BASE_MINT}_{QUOTE_MINT}

Example: "ZKFHiLAfAFMTcDAuCtjNW54VzpERvoe7PBF9mYgmeta_EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"

base_currencystringrequired

The base token mint address (Solana PublicKey)

target_currencystringrequired

The quote token mint address, typically USDC

base_symbolstring

The symbol of the base token (e.g., "ZKFG"). May be empty if metadata unavailable.

base_namestring

The name of the base token. May be empty if metadata unavailable.

target_symbolstring

The symbol of the quote token (e.g., "USDC")

target_namestring

The name of the quote token (e.g., "USD Coin")

pool_idstringrequired

The DAO address (Solana PublicKey)

last_pricestringrequired

Current price of base token in terms of quote token (quote/base ratio)

base_volumestringrequired

24-hour trading volume in base token, calculated from protocol fees

target_volumestringrequired

24-hour trading volume in quote token, calculated from protocol fees

liquidity_in_usdstringrequired

Total pool liquidity in USD

bidstringrequired

Best bid price (accounting for price impact)

askstringrequired

Best ask price (accounting for price impact)

Example Request

cURL
curl https://market-api.metadao.fi/api/tickers
JavaScript
const response = await fetch('https://market-api.metadao.fi/api/tickers');
const tickers = await response.json();
console.log(tickers);
Python
import requests

response = requests.get('https://market-api.metadao.fi/api/tickers')
tickers = response.json()
print(tickers)
Go
package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    resp, err := http.Get("https://market-api.metadao.fi/api/tickers")
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var tickers []map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&tickers)
    fmt.Println(tickers)
}

Example Response

json
[
  {
    "ticker_id": "ZKFHiLAfAFMTcDAuCtjNW54VzpERvoe7PBF9mYgmeta_EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "base_currency": "ZKFHiLAfAFMTcDAuCtjNW54VzpERvoe7PBF9mYgmeta",
    "target_currency": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "base_symbol": "ZKFG",
    "base_name": "ZKFG Token",
    "target_symbol": "USDC",
    "target_name": "USD Coin",
    "pool_id": "5FPGRzY9ArJFwY2Hp2y2eqMzVewyWCBox7esmpuZfCvE",
    "last_price": "0.081340728222",
    "base_volume": "30024.81040000",
    "target_volume": "2441.23456789",
    "liquidity_in_usd": "180138.45",
    "bid": "0.080934024581",
    "ask": "0.081747431863"
  },
  {
    "ticker_id": "ANOTHER_TOKEN_MINT_ADDRESS_EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "base_currency": "ANOTHER_TOKEN_MINT_ADDRESS",
    "target_currency": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "base_symbol": "ABC",
    "base_name": "ABC Token",
    "target_symbol": "USDC",
    "target_name": "USD Coin",
    "pool_id": "ANOTHER_DAO_ADDRESS",
    "last_price": "1.234567",
    "base_volume": "15000.00",
    "target_volume": "18520.35",
    "liquidity_in_usd": "95000.00",
    "bid": "1.220000",
    "ask": "1.250000"
  }
]

Data Characteristics

Price Calculation

Prices are calculated from spot pool reserves only (not conditional/futarchy pools).

Formula: price = (quoteReserves / baseReserves) * 10^(baseDecimals - quoteDecimals)

This ensures accurate pricing regardless of token decimal differences.

Volume Calculation

Volume is derived from accumulated protocol fees, providing accurate trading activity.

Formula: volume = protocolFees / feeRate

Uses the PROTOCOL_FEE_RATE configured in your environment (default: 0.25%).

Liquidity Calculation

Liquidity is calculated as double the quote reserves (for stablecoin pairs).

Formula: liquidity = 2 * quoteReserves

Assumes symmetric liquidity for stablecoin-denominated pools.

Bid/Ask Spread

Bid and ask prices account for price impact from trading.

These values represent realistic execution prices for small trades.

Caching

The API implements intelligent caching to optimize performance:

  • Ticker data: Cached for 10 seconds to balance freshness with performance
  • Token metadata: Cached for 100 seconds (longer cache for static data like symbols and names)

Subsequent requests within the cache window return cached data instantly, reducing load on the Solana RPC and improving response times.

Filtering

DAOs can be excluded from results by adding their addresses to the EXCLUDED_DAOS environment variable.

Only DAOs with:

  • Valid pool reserves (non-zero)
  • Accessible on-chain data
  • Not in the exclusion list

will appear in the response.

Rate Limiting

This endpoint is subject to the global rate limit of 60 requests per minute per IP address.

Use Cases

Price Aggregators

Integrate with price tracking platforms like CoinGecko

Trading Dashboards

Display real-time market data for all DAOs

Market Analysis

Analyze trading volumes and liquidity across DAOs

Arbitrage Bots

Monitor prices for arbitrage opportunities

Was this page helpful?