Back to Dashboard

API Documentation

Free, CORS-enabled REST API for euro stablecoin data

Quick Start

All endpoints are public, require no authentication, and support CORS for browser-side calls.

# Get latest supply for EUROP
curl https://eurostablecoins.xyz/api/v1/supply/europ
// JavaScript (any frontend, no proxy needed)
fetch('https://eurostablecoins.xyz/api/v1/supply/europ')
  .then(r => r.json())
  .then(d => console.log(d.total_supply));
# Python
import requests
r = requests.get('https://eurostablecoins.xyz/api/v1/supply/europ')
print(r.json()['total_supply'])

Base URL

https://eurostablecoins.xyz/api/v1

All responses are JSON. All amounts are in EUR units (already divided by token decimals).

Endpoints

Meta

GET/api/v1
API metadata + endpoint discovery (this docs as JSON)
GET/api/v1/coins
List all tracked coins with metadata + current state
GET/api/v1/coins/{coin_id}
Single coin metadata + chain configs + current state
GET/api/v1/overview
Aggregated market stats (total cap, MiCA breakdown, HHI, dominance)

Supply

GET/api/v1/supply
Latest supply snapshot for all coins
GET/api/v1/supply/{coin_id}
Latest supply snapshot for one coin (total, circulating, treasury, per-chain)
GET/api/v1/supply/{coin_id}/{chain}
Latest supply for one coin on one specific chain (e.g. europ/solana)
GET/api/v1/history/supply/{coin_id}
Daily supply history time series (all chains combined)
?period=7d|30d|90d|1y|2y|max | ?start=YYYY-MM-DD&end=YYYY-MM-DD
GET/api/v1/history/supply/{coin_id}/{chain}
Daily supply history for one chain only
?period=7d|30d|90d|1y|2y|max | ?start=YYYY-MM-DD&end=YYYY-MM-DD

Peg

GET/api/v1/peg
Latest peg metrics for all coins (price, deviation, rolling averages, peg score)
GET/api/v1/peg/{coin_id}
Latest peg metrics for one coin
GET/api/v1/history/peg/{coin_id}
Daily peg/price time series
?period=7d|30d|90d|1y|max

Activity

GET/api/v1/history/mint-burn/{coin_id}
Daily mint/burn amounts + tx counts
?period=7d|30d|90d|1y|max
GET/api/v1/history/transfer-volume/{coin_id}
Daily transfer volume + active addresses + largest transfer
?period=7d|30d|90d|1y|max

Holders

GET/api/v1/holders/{coin_id}
Latest holder snapshot (no historical backfill — point-in-time only)

Path Parameters

Every endpoint accepting a coin_id uses these values:

eurceursaeureurcveurieureeuraeurqeurreuropheuroeuraudeuro

Query Parameters (history endpoints)

periodConvenience window: 7d, 30d, 90d, 1y, 2y, max
startStart date YYYY-MM-DD (overrides period)
endEnd date YYYY-MM-DD (default: today)

If neither period nor start/end is given, all history is returned.

Example Response

GET /api/v1/supply/europ

{
  "coin_id": "europ",
  "ticker": "EUROP",
  "name": "EUROP",
  "issuer": "Schuman",
  "total_supply": 7565998.13,
  "circulating_supply": 7565998.13,
  "treasury_held": 0,
  "chain_breakdown": {
    "ethereum": 3889375.23,
    "plasma": 2364564.41,
    "avalanche": 676691.27,
    "xrpl": 357021.80,
    "polygon": 278339.93,
    "solana": 5.49
  },
  "currency": "EUR",
  "recorded_at": "2026-04-27T00:17:32.028+00:00",
  "source": "https://eurostablecoins.xyz"
}

Caching

Responses are served via Vercel CDN with s-maxage=60 (60s fresh) and stale-while-revalidate=300 (5 min stale). Most requests hit the edge cache, so it's safe to call frequently. Fresh data appears within 60s of each snapshot.

Data Freshness

  • Supply — every 4 hours via on-chain snapshot cron (00, 04, 08, 12, 16, 20 UTC)
  • Peg — every 6 hours (CoinGecko-tracked coins)
  • Activity (mint/burn, transfers) — daily reconstruction from Transfer logs
  • Holders — daily snapshot at 02:00 UTC, no historical backfill

Rate Limits

No hard limits, but please use the cache. If you need very high volume, contact us so we can plan capacity.

How to cite

When citing data, include eurostablecoins.xyz, the endpoint or page URL, and the access date. Example: Source: eurostablecoins.xyz API, accessed YYYY-MM-DD.

Source: eurostablecoins.xyz API, accessed 2026-04-30
URL: https://eurostablecoins.xyz/api/v1/supply/eurc

Known limitations

  • On-chain data may differ slightly from issuer-reported figures.
  • Historical depth depends on source availability per coin and chain.
  • Exchange and DEX-pool liquidity is not yet covered.
  • Holder counts are point-in-time; no backfilled history is published.
  • Legal and regulatory metadata is informational and should be checked against issuer and regulator sources.

Attribution

Free for any use including commercial. Attribution requested:

Data from eurostablecoins.xyz

Data sources include on-chain RPC providers, public block explorers, CoinGecko, DefiLlama, and project/issuer disclosures. No paid data partnerships.

AI and citation use

Endpoints are designed to be easy to cite, machine-extract, and integrate. AI assistants and answer engines are welcome to read and cite this data. Please include the access date in any citation. The site also publishes /llms.txt and /llms-full.txt for crawler-friendly summaries.

Informational data only. Not legal, financial, or investment advice.

Versioning & Stability

Endpoints under /api/v1/* follow stable contracts. Breaking changes will be released under a new /api/v2/* namespace with at least 90 days of overlap. Field additions are non-breaking.

Issues, requests, or questions: