Skip to Content
FeaturesManage Cap TableAdd Supporting Records

Add Supporting Records

For legends, plans, and stakeholder wallets after issuer setup.

Use Create Stock Class and Create Stakeholder for first-time setup.

Inputs

IDSource
issuerIdPOST /issuer/create or POST /issuer/register
stockClassIdPOST /stock-class/create
stakeholderIdPOST /stakeholder/create

/stakeholder, /stock-class, and /transactions pass through contract middleware, so every request — even GET — must include issuerId in the JSON body. The curl examples below show the shape.

Stock legends

POST /stock-legend/create saves transfer-restriction text that you can attach to issuances later via stock_legend_ids.

Show stock-legend request
{ "issuerId": "<YOUR_ISSUER_ID>", "data": { "name": "Restricted Stock Legend", "text": "THESE SECURITIES HAVE NOT BEEN REGISTERED UNDER THE SECURITIES ACT OF 1933\u2026", "comments": [] } }
FieldRequiredDescription
nameYesShort label shown in UI/responses.
textYesFull legend body printed on certificates.
commentsNoFree-form notes.

Returns: { "stockLegend": ... }.

Stock plans

POST /stock-plan/create saves plan terms that future equity-compensation issuances reference via stock_plan_id.

Show stock-plan request
{ "issuerId": "<YOUR_ISSUER_ID>", "data": { "plan_name": "Transfer Agent Protocol 2026 Plan", "board_approval_date": "2026-01-15", "stockholder_approval_date": "2026-01-20", "initial_shares_reserved": "1000000", "default_cancellation_behavior": "RETURN_TO_POOL", "stock_class_id": "<YOUR_STOCK_CLASS_ID>", "comments": [] } }

Returns: { "stockPlan": ... }.

Wallets

POST /stakeholder/add-wallet and POST /stakeholder/remove-wallet:

Show wallet request
{ "issuerId": "<YOUR_ISSUER_ID>", "id": "<YOUR_STAKEHOLDER_ID>", "wallet": "<YOUR_WALLET_ADDRESS>" }

Returns: "Success". Add can also return "Wallet already added".

Read back

GETs that go through contract middleware still require issuerId in the JSON body:

curl http://localhost:8293/stakeholder/id/<YOUR_STAKEHOLDER_ID> \ -H 'Content-Type: application/json' \ -d '{"issuerId":"<YOUR_ISSUER_ID>"}'
RecordRouteBody
Stock classGET /stock-class/id/:id{ issuerId }
Stock class countGET /stock-class/total-number{ issuerId }
StakeholderGET /stakeholder/id/:id{ issuerId }
Stakeholder by issuer-assigned IDGET /stakeholder/issuer_assigned_id/:id{ issuerId }
Stakeholder by walletGET /stakeholder/wallet/:address{ issuerId }
Stock legendGET /stock-legend/id/:idNone
Stock planGET /stock-plan/id/:idNone

Next: Issue and Accept Stock or API Reference.

Last updated on