Skip to main content

What is This API?

The Futarchy CoinGecko DEX API is a CoinGecko-compatible API that automatically discovers and aggregates all DAOs from the Futarchy protocol, providing real-time pricing and trading information.
This API is fully compatible with CoinGecko’s DEX API specification, making it easy to integrate with price aggregators and trading platforms.

Base URL

https://your-api-domain.com
All API requests should be made to this base URL. Replace your-api-domain.com with your actual API domain.

Available Endpoints

Supply Endpoints

EndpointDescription
GET /api/supply/:mintAddressReturns complete supply info (total, circulating, decimals, raw)
GET /api/supply/:mintAddress/totalReturns just the total supply
GET /api/supply/:mintAddress/circulatingReturns just the circulating supply

Root Endpoint

Endpoint: GET / Returns API information and available endpoints. Response:
{
  "name": "Futarchy AMM - CoinGecko API",
  "version": "1.0.0",
  "documentation": "https://docs.coingecko.com/reference/exchanges-list",
  "endpoints": {
    "tickers": "/api/tickers - Returns all DAO tickers",
    "health": "/health"
  },
  "dex": {
    "fork_type": "Custom",
    "factory_address": "YOUR_FACTORY_PROGRAM_ID",
    "router_address": "YOUR_ROUTER_PROGRAM_ID"
  },
  "note": "This API automatically discovers and aggregates all DAOs from the Futarchy protocol"
}
Example Request:
curl https://your-api-domain.com/

Health Endpoint

Endpoint: GET /health Health check endpoint for monitoring API status. Response:
{
  "status": "healthy",
  "timestamp": "2024-01-01T00:00:00.000Z",
  "uptime": 3600.5
}
Response Fields:
status
string
required
Health status of the API. Always "healthy" when the endpoint responds successfully.
timestamp
string
required
Current server timestamp in ISO 8601 format.
uptime
number
required
Server uptime in seconds.
Example Request:
curl https://your-api-domain.com/health
Use this endpoint for automated health monitoring. Set up checks every 1-5 minutes to detect issues early.

Key Features

The API automatically discovers all DAOs from the Futarchy protocol without manual configuration. No need to maintain a list of DAOs - they’re discovered dynamically from the blockchain.
Prices are calculated from spot pool reserves in real-time, accounting for token decimal differences to ensure accuracy.
Trading volumes are calculated from accumulated protocol fees, providing accurate volume metrics that reflect actual trading activity.
Comprehensive liquidity information for all pools, calculated in USD for easy comparison.
Built with Bun for exceptional performance, featuring intelligent caching (10s for tickers, 100s for metadata) and rate limiting.
Fully compatible with CoinGecko’s DEX API specification, making integration seamless with existing tools and platforms.

Rate Limiting

The API implements rate limiting to ensure fair usage:
  • 60 requests per minute per IP address
  • Returns 429 Too Many Requests when limit is exceeded
  • Rate limits reset at the start of each minute window

Caching

The API uses intelligent caching to balance freshness with performance:
  • Tickers: 10 seconds TTL
  • Token Metadata: 100 seconds TTL (longer cache for static data)

Data Sources

All data comes from on-chain sources:
  1. Solana Blockchain - Pool reserves, DAO accounts, protocol fees
  2. Metaplex Token Metadata - Token symbols, names, and metadata
  3. Spot Pools Only - Prices calculated from spot pools, not conditional markets
Prices are only calculated from spot pools, not conditional/futarchy pools, to ensure spot market accuracy.

Response Format

All endpoints return JSON responses. Error responses follow a consistent format:
{
  "error": "Error message describing what went wrong"
}

Next Steps