Skip to Content

View Cap Table

Use this page when you want to answer one question: who currently holds stock for this issuer?

This route returns active stock positions only. Options, warrants, and convertibles never appear here.

Send a GET request

curl "http://localhost:8293/cap-table/holdings/stock?issuerId=<YOUR_ISSUER_ID>"

Check the response

{ "holdings": [ { "stockClass": { "_id": "<YOUR_STOCK_CLASS_ID>" }, "stakeholder": { "_id": "<YOUR_STAKEHOLDER_ID>" }, "quantity": 100000, "sharePrice": 4.2, "timestamp": 1767225600 } ], "stockClasses": [ { "_id": "<YOUR_STOCK_CLASS_ID>" } ], "issuer": { "_id": "<YOUR_ISSUER_ID>" } }

Response fields

FieldTypeNotes
holdings[].stockClass._idstringUse this to join against the stockClasses array.
holdings[].stakeholder._idstringStakeholder currently holding the position.
holdings[].quantitynumberActive share count.
holdings[].sharePricenumberHuman-readable — the poller already unscaled by 1e10. The raw onchain value is sharePrice * 1e10; see the scaling note.
holdings[].timestampnumberUnix seconds at the issuing block.
stockClasses[]arrayEvery stock class on the issuer, even if it has no active holdings.
issuer._idstringUse this to confirm you queried the right cap table.

Excluded from this route

  • Positions with zero remaining quantity (cancelled, transferred, repurchased).
  • Equity compensation, convertibles, and any non-stock instruments — those live on their own DB-only routes.

What’s next?

Last updated on