Skip to main content
Loading market data…
GET/api/v1/etf/corporate-treasury/{ticker}Hobbyist tier+ · 30 req/min

Single-company bitcoin treasury history.

Per-company drill-down: current holdings, average cost basis, and transaction history. Same ingestion status as the list route — stable shape, `meta.dataStatus` signals readiness.

Path parameters

Segments of the URL path, validated server-side.

NameTypeRequiredDefaultDescription
tickerstringrequired
3-8 char alphanumeric stock ticker (MSTR, TSLA, MARA…).

Query parameters

This endpoint takes no query parameters.

Response shape

Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.

data payloadtypescript
// Wrapped in the standard envelope:
// {
//   data: /* shape below */,
//   meta?: { total?: number; limit?: number; offset?: number; ... }
// }

{
  ticker: string;
  name: string | null;
  btcHeld: number;
  usdValue: number;
  avgCostBasis: number | null;
  lastUpdated: string | null;
  transactions: Array<{
    date: string;
    btcDelta: number;
    usdSpend: number | null;
  }>;
}

Example

Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.

Requestbash
curl -sS "http://localhost:3000/api/v1/etf/corporate-treasury/MSTR"
Responsejson
{
  "data": {
    "ticker": "MSTR",
    "name": null,
    "btcHeld": 0,
    "usdValue": 0,
    "avgCostBasis": null,
    "lastUpdated": null,
    "transactions": []
  },
  "meta": { "total": 0, "ticker": "MSTR", "dataStatus": "not-yet-ingested" }
}

Notes

  • Invalid ticker format (non-alnum, wrong length) returns 400 `BAD_PARAM`.
  • Ingestion pending — expect zero-valued fields until the adapter lands.

Next

Check the error code reference, or get an API key to try the request against your own account.