Peeped.xyz Get a key

API Documentation

The Peeped API serves on-chain crypto casino and iGaming market data — deposit and withdrawal volume, market share, benchmarks, and chain coverage across 8 blockchains — as clean JSON. This is the reference for authentication, endpoints, quotas, and errors.

Base URL & format

All requests go to your Peeped API host over HTTPS and return JSON:

https://api.peeped.xyz

Every endpoint under /v1/ requires an API key. Health and the marketing teaser are open.

Authentication

Send your key as a bearer token in the Authorization header. Get a key by starting a free trial on the pricing page (trial keys begin with pk_).

curl -s "https://api.peeped.xyz/v1/casinos?days=30" \
  -H "Authorization: Bearer pk_your_key_here"

A missing or invalid key returns 401. Keep your key secret — it bills to your account and meters against your plan's quota.

Rolling windows

Most metrics accept a days query parameter — a rolling lookback window applied consistently across endpoints:

Add include_internal=true to include wallet-to-wallet internal transfers (excluded by default). USD-denominated variants are available on some endpoints via usd=true.

Plans & quotas

The API enforces your plan's entitlements — monthly call quota, how many operators are visible, and how fresh the data is. Plans and prices are on the pricing page.

PlanMonthly callsOperators visibleData freshnessEndpoints
Trial (14 days)2,000AllLiveAll
Starter10,000Top 1024-hour delayCore
Pro100,000All1-hour delayAll
Data Feed2,000,000AllLiveAll + export
EnterpriseCustomAllLiveAll + export

"Core" (Starter) covers /v1/casinos, /v1/market-share, /v1/benchmarks, /v1/coverage, and /v1/usage. The time-series and per-flow endpoints (net-flow, volume, daily, activity, depositors, holdings) are on Pro and above. When you exceed your monthly quota the API returns 429 with X-RateLimit-* and Retry-After headers.

Endpoints

All paths below are relative to the base URL and require the Authorization header.

GET/v1/casinosAll plans

Ranked operator leaderboard — chains covered, USD deposits/withdrawals/net, deposit & withdraw counts, and market share. Params: days, include_internal.

{
  "days": 30,
  "casinos": [
    {
      "casino": "Stake",
      "chains": ["ethereum","bsc","polygon","base","arbitrum","tron","solana"],
      "deposits_usd": 95500000, "withdrawals_usd": 90100000, "net_usd": 5400000,
      "deposit_count": 128400, "withdraw_count": 96200, "share": 0.21
    }
  ]
}
GET/v1/activityPro+

Deposit/withdraw count and USD value per operator — optionally per chain. Params: casino, by_chain, days, include_internal.

GET/v1/market-shareAll plans

Share of tracked volume per operator. Params: token, usd, days, include_internal.

GET/v1/net-flowPro+

Net deposit minus withdrawal flow, per operator or overall. Params: casino, usd, days, include_internal.

GET/v1/volumePro+

Volume broken down by operator and token. Params: days, include_internal.

GET/v1/dailyPro+

Daily time series for charts. Params: casino, token, direction (deposit|withdraw), days, include_internal.

GET/v1/benchmarksAll plans

Per-operator 7d / 14d / 30d / 60d / 90d / 365d deposit volume plus wallet holdings (USD) — the leaderboard backbone.

GET/v1/coverageAll plans

Chain-coverage matrix per operator; missing lists target chains with no data yet.

GET/v1/holdingsPro+

Current wallet holdings (reserves) per operator. Params: casino.

GET/v1/depositorsPro+

Unique depositor count for an operator. Params: casino (required), days, include_internal.

GET/v1/usageAll plans

Your key's own metered usage, plan, status, and remaining monthly quota — always available, even at quota.

Public endpoints (no key)

GET/health

Liveness check — {"status":"ok","service":"peeped"}.

GET/v1/embed/leaders

Coarse marketing teaser for the embeddable widget: top 5 operator names and a relative 0–100 index — no USD figures, no addresses.

POST/v1/signup

Create an account and a 14-day trial key. Body: {"email":"you@example.com"}{"api_key":"pk_…","tier":"trial"}.

POST/v1/subscribe

Subscribe an email to The Weekly Peep. Body: {"email":"you@example.com"}.

Errors

Errors are JSON with a detail message and a standard status code:

CodeMeaning
400Bad request (e.g. a malformed or missing email on signup/subscribe).
401Missing or invalid API key.
402Trial expired, subscription inactive, or billing period ended — renew to continue.
403That endpoint isn't in your plan (upgrade to unlock it).
429Monthly quota reached. See X-RateLimit-Limit / Retry-After.

A note on wallet addresses

Peeped's curated wallet map — which address belongs to which operator — is the product, and it is never exposed through the customer API on any plan. The API returns aggregated metrics (volumes, counts, shares, holdings), not raw addresses. This keeps the dataset's integrity intact for everyone.