DGB INSIGHTS DigiDollar Lockup Tracker ← Dashboard

API

The public JSON feeds behind this dashboard. How the numbers are produced is documented in the methodology.

01

Base URL & access

All endpoints are served from:

https://dgbinsights-feed.emeryeps.workers.dev

No authentication, no API key, no rate-limit registration. Responses are JSON only, sent with Access-Control-Allow-Origin: *, so they can be fetched directly from browser code on any origin. Every response carries Cache-Control: max-age=60 and is cached at the edge for 60 seconds — polling more often than once a minute returns the same bytes, so please cache client-side accordingly.

02

Endpoints

GET /data/snapshot.json

The latest snapshot of DigiDollar system state. Key fields:

  • generated_at — when the snapshot was collected (ISO-8601, UTC)
  • height — DigiByte chain height at collection (integer)
  • stats.total_collateral_dgb — total DGB locked as collateral (DGB, float)
  • stats.total_dd_supply — outstanding DigiDollar supply in cents (see section 03)
  • stats.active_positions — open vault positions (integer; positions, not people)
  • stats.system_collateral_ratio — system-wide collateral ratio
  • stats.health_status — system health string
  • oracle_price.price_usd — oracle DGB price in dollars (e.g. 0.003331); always use this field (see section 03)
  • oracle_price.oracle_count — number of oracles behind the price
  • oracle_price.is_stale — whether the oracle price is stale (boolean)
{
  "generated_at": "2026-07-18T19:35:01Z",
  "height": 23876631,
  "stats": {
    "total_collateral_dgb": 6275098.68714456,
    "total_dd_supply": 445032,
    "active_positions": 35,
    "system_collateral_ratio": 469,
    "health_status": "healthy"
  },
  "oracle_price": {
    "price_usd": 0.003331,
    "price_cents": 0,
    "oracle_count": 28,
    "is_stale": false,
    "24h_high": 0.387,
    "24h_low": 0.2895
  }
}

Abridged — live responses include additional fields (see section 05).

GET /data/history.json

A rolling window of 5-minute points, capped at 4,320 entries (roughly 15 days). Returns an array of compact points: t (ISO-8601 UTC), locked (DGB), dd (cents), positions (integer), price (USD dollars).

[
  {"t": "2026-07-18T17:25:01Z", "locked": 5977321.24535441, "dd": 420032, "positions": 33, "price": 0.003461},
  {"t": "2026-07-18T17:30:01Z", "locked": 5977321.24535441, "dd": 420032, "positions": 33, "price": 0.003461}
]

GET /data/daily.json

A permanent daily archive: one point per UTC day (that day's last snapshot), append-only, never trimmed. Returns an array of d ("YYYY-MM-DD", UTC), t, locked, dd, positions, price — same units as history.

[
  {"d": "2026-07-18", "t": "2026-07-18T19:35:01Z", "locked": 6275098.68714456, "dd": 445032, "positions": 35, "price": 0.003331}
]
03

Units — read this before charting anything

Two unit conventions in these feeds routinely trip up consumers:

  • DigiDollar amounts are integer cents. stats.total_dd_supply in the snapshot and dd in history and daily are cents: 420032 means $4,200.32, not 420,032 dollars. Divide by 100 before display.
  • The oracle price is dollars — but only in price_usd. oracle_price.price_usd is the DGB price in dollars (e.g. 0.003331) and is the only price field to use. price_cents rounds to 0 for sub-cent DGB and must never be used.
  • The 24-hour range fields are cents, not dollars. oracle_price["24h_high"] and oracle_price["24h_low"] use cents: 0.32 means $0.0032. Do not compare them to price_usd without converting.
04

Data provenance & caveats

Snapshots are collected every ~5 minutes from our own DigiByte Core node, as described in the methodology. Timestamps are collection time in UTC, not block time. Gaps are possible during collector outages; a missing 5-minute point means we did not collect, not that the chain paused. If a published figure is found to be wrong, it will be corrected per the methodology's discrepancy rule — corrections currently overwrite in place, and a versioned correction log is planned. A per-snapshot block hash is also planned but not yet present, so when citing a figure, cite height and generated_at together.

05

Stability

The schema is v1 and additive-only: new fields may appear at any time (live responses already carry more fields than are documented above), but existing fields will not change name, type, or meaning. Write consumers that ignore unknown fields. Any breaking change would ship at a new path, leaving these endpoints intact.