Volver al Marketplace de Skills

Market Data

defillama-api

DeFiLlama API provides free, no-auth DeFi macro analytics across chains—TVL, historical protocol data, multi-chain token prices, DEX volumes, fees/revenue, stablecoin metrics, and bridge listings. It exposes REST endpoints (e.g.

Actualizada hace 45 díasConfiguración en <1 min

Resumen

DeFiLlama API provides free, no-auth DeFi macro analytics across chains—TVL, historical protocol data, multi-chain token prices, DEX volumes, fees/revenue, stablecoin metrics, and bridge listings.

DeFiLlama API provides free, no-auth DeFi macro analytics across chains—TVL, historical protocol data, multi-chain token prices, DEX volumes, fees/revenue, stablecoin metrics, and bridge listings. It exposes REST endpoints (e.g., /protocols, /protocol/{slug}, /tvl/{slug}, /v2/chains, /v2/historicalChainTvl and coins.prices) plus specialized bases (coins.llama.fi, stablecoins.llama.fi, yields.llama.fi). Coin IDs use chain:address format for cross-chain pricing. Typical uses include building dashboards, portfolio and risk monitoring, research and backtesting, alerts, and aggregating TVL and revenue trends. Core advantages are broad chain coverage, historical time series, simple HTTP access with generous free rate limits (~500 requests/5 minutes), and an optional Pro tier for higher quotas and advanced endpoints (yields, detailed bridge data).

Skill.md

Cómo funciona esta Skill

DeFiLlama API provides free, no-auth DeFi macro analytics across chains—TVL, historical protocol data, multi-chain token prices, DEX volumes, fees/revenue, stablecoin metrics, and bridge listings. It exposes REST endpoints (e.g.

SKILL.mdALPHIO / VERIFICADA

DeFiLlama API — DeFi Macro Analytics

DeFiLlama is the largest DeFi TVL aggregator. Its API is free with no authentication for most endpoints — covering TVL, token prices, DEX volumes, fees/revenue, stablecoins, and bridges across all chains.

Quick Start

import httpx

# No auth required for free endpoints
BASE = "https://api.llama.fi"
COINS = "https://coins.llama.fi"

# Current TVL for a protocol
tvl = httpx.get(f"{BASE}/tvl/raydium").json()
print(f"Raydium TVL: ${tvl:,.0f}")

# Token prices (multi-chain)
resp = httpx.get(f"{COINS}/prices/current/solana:So11111111111111111111111111111111111111112")
sol_price = resp.json()["coins"]["solana:So11111111111111111111111111111111111111112"]["price"]

Base URLs

ServiceBase URLAuth
TVL / Protocolshttps://api.llama.fiFree
Coin Priceshttps://coins.llama.fiFree
Stablecoinshttps://stablecoins.llama.fiFree
Yieldshttps://yields.llama.fiPro ($300/mo)
Bridgeshttps://bridges.llama.fiFree (list) / Pro (detail)
Pro APIhttps://pro-api.llama.fi/{KEY}/api/...Pro key in URL path

Rate limits: ~500 requests per 5 minutes (free). Pro: 1,000 req/min, 1M calls/mo.

TVL & Protocol Data

# List all protocols with TVL
GET /protocols
# Returns: [{name, slug, tvl, chainTvls, change_1h, change_1d, change_7d, category, chains, ...}]

# Detailed protocol data with historical TVL
GET /protocol/{slug}
# Returns: Full object with tvl[], tokensInUsd{}, currentChainTvls{}, ...

# Simple current TVL number
GET /tvl/{slug}
# Returns: plain number (e.g., 150977324562.40)

# TVL for all chains
GET /v2/chains
# Returns: [{name, tvl, tokenSymbol, chainId, gecko_id}]

# Historical chain TVL
GET /v2/historicalChainTvl/{chain}
# chain: "Ethereum", "Solana", "Arbitrum", etc.
# Returns: [{date, tvl}] — date is unix timestamp (seconds)

Token Prices

Coin identifiers use {chain}:{address} format:

  • solana:So11111111111111111111111111111111111111112 (SOL)
  • ethereum:0xdac17f958d2ee523a2206206994597c13d831ec7 (USDT)
  • coingecko:bitcoin (non-chain lookups)
# Current prices (batch)
GET /prices/current/{coins}
# coins: comma-separated identifiers
# Optional: searchWidth (default 4h)
# Returns: {coins: {id: {price, decimals, symbol, timestamp, confidence}}}

# Historical price at timestamp
GET /prices/historical/{timestamp}/{coins}
# timestamp: unix seconds

# Price chart
GET /chart/{coins}?period=1d&span=30
# period: 1d, 4h, 1h
# Returns: {coins: {id: {prices: [{timestamp, price}]}}}

# Price change percentage
GET /percentage/{coins}

# First recorded price
GET /prices/first/{coins}

# Block number at timestamp
GET /block/{chain}/{timestamp}

Batch Historical Prices

# POST for multiple timestamps per coin
POST /batchHistorical
Body: {"coins": {"solana:So11...": [1709251200, 1709337600]}}

DEX Volumes

# All DEXes aggregated
GET /overview/dexs
# Optional: excludeTotalDataChart=true, dataType=dailyVolume

# Chain-specific
GET /overview/dexs/{chain}
# chain: "Solana", "Ethereum", etc.

# Specific DEX
GET /summary/dexs/{protocol}
# Returns: {total24h, total7d, total30d, totalAllTime, totalDataChart, ...}

Fees & Revenue

# All protocols
GET /overview/fees
# Optional: dataType=dailyFees|dailyRevenue|dailyUserFees

# Chain-specific
GET /overview/fees/{chain}

# Specific protocol
GET /summary/fees/{protocol}
# Returns: {total24h, total7d, methodology{}, totalDataChart[], ...}

Stablecoins

# All stablecoins with supply data
GET https://stablecoins.llama.fi/stablecoins
# Returns: [{name, symbol, pegType, circulating, chainCirculating, price}]

# Historical market cap
GET https://stablecoins.llama.fi/stablecoincharts/all

# Chain-specific stablecoin data
GET https://stablecoins.llama.fi/stablecoincharts/{chain}

# Stablecoin prices (deviation tracking)
GET https://stablecoins.llama.fi/stablecoinprices

Bridges

# List all bridges
GET https://bridges.llama.fi/bridges
# Optional: includeChains=true
# Returns: {bridges: [{name, volume stats, chains, ...}]}

Common Patterns

Protocol TVL Comparison

def compare_protocol_tvl(slugs: list[str]) -> list[dict]:
    """Compare TVL across protocols."""
    results = []
    for slug in slugs:
        resp = httpx.get(f"https://api.llama.fi/tvl/{slug}", timeout=15.0)
        if resp.status_code == 200:
            results.append({"protocol": slug, "tvl": resp.json()})
    return sorted(results, key=lambda x: x["tvl"], reverse=True)

Multi-Token Price Lookup

def get_solana_prices(mints: list[str]) -> dict[str, float]:
    """Get USD prices for Solana tokens via DeFiLlama."""
    coins = ",".join(f"solana:{m}" for m in mints)
    resp = httpx.get(f"https://coins.llama.fi/prices/current/{coins}")
    data = resp.json().get("coins", {})
    return {
        mint: data[f"solana:{mint}"]["price"]
        for mint in mints
        if f"solana:{mint}" in data
    }

Solana DeFi Overview

def solana_defi_snapshot() -> dict:
    """Get a snapshot of Solana DeFi activity."""
    chain_tvl = httpx.get("https://api.llama.fi/v2/chains").json()
    sol_tvl = next((c["tvl"] for c in chain_tvl if c["name"] == "Solana"), 0)

    dex_vol = httpx.get("https://api.llama.fi/overview/dexs/Solana").json()
    fees = httpx.get("https://api.llama.fi/overview/fees/Solana").json()

    return {
        "tvl": sol_tvl,
        "dex_volume_24h": dex_vol.get("total24h", 0),
        "fees_24h": fees.get("total24h", 0),
    }

Historical Price Analysis

def price_at_date(coin: str, date_str: str) -> float:
    """Get token price at a specific date.

    Args:
        coin: DeFiLlama coin ID (e.g., 'solana:So11...')
        date_str: Date string 'YYYY-MM-DD'
    """
    from datetime import datetime, timezone
    dt = datetime.strptime(date_str, "%Y-%m-%d").replace(tzinfo=timezone.utc)
    ts = int(dt.timestamp())
    resp = httpx.get(f"https://coins.llama.fi/prices/historical/{ts}/{coin}")
    data = resp.json().get("coins", {})
    return data.get(coin, {}).get("price", 0)

Free vs Pro Endpoints

CategoryFreePro ($300/mo)
TVL / ProtocolsYesYes
Coin PricesYesYes
DEX Volumes (overview)YesYes
Fees/Revenue (overview)YesYes
StablecoinsYesYes
Bridges (list)YesYes
Yields / PoolsNoYes
Bridge detailNoYes
DerivativesNoYes
Emissions/UnlocksNoYes
TreasuriesNoYes
Hacks databaseNoYes

When to Use DeFiLlama vs Alternatives

NeedUse
Protocol TVL comparisonDeFiLlama
Multi-chain token pricesDeFiLlama (free batch)
Historical prices at specific timestampsDeFiLlama
DeFi macro analysisDeFiLlama
Solana token OHLCVBirdeye or SolanaTracker
Real-time token dataDexScreener or Birdeye
Wallet PnLSolanaTracker
On-chain transaction dataHelius

Files

References

  • references/endpoints.md — Complete endpoint listing with parameters and response schemas
  • references/coin_identifiers.md — Chain prefixes, address formats, and batch lookup patterns
  • references/error_handling.md — Rate limits, error codes, retry strategies, large response handling

Scripts

  • scripts/defi_snapshot.py — Solana DeFi overview: TVL, volumes, fees, top protocols
  • scripts/price_lookup.py — Multi-token price lookup with historical comparison

Ideal para

Cuándo usarla

DeFiLlama API provides free, no-auth DeFi macro analytics across chains—TVL, historical protocol data, multi-chain token prices, DEX volumes, fees/revenue, stablecoin metrics, and bridge listings. It exposes REST endpoints (e.g.

01 · ANTES DE LA REUNIÓN

Prepara un informe de decisión

Convierte evidencia dispersa en un caso estructurado antes del comité de inversión.

02 · FLUJO DE EQUIPO

Estandariza los traspasos

Genera resultados de research consistentes entre analistas, gestores de cartera y agents.

03 · ACTUALIZACIÓN EN VIVO

Refresca la tesis

Actualiza los escenarios tras un nuevo catalizador, la publicación de un KPI o un resultado trimestral.

Notas de la comunidad

Mejora a medida que se usa.

Los comentarios aparecerán aquí a medida que esta Skill se use y se revise.

Dejar comentarios

Descubre más

Skills relacionadas

Ver todas
Empieza gratis