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.