Add Supporting Records
For legends, plans, and stakeholder wallets after issuer setup.
Use Create Stock Class and Create Stakeholder for first-time setup.
Inputs
| ID | Source |
|---|---|
issuerId | POST /issuer/create or POST /issuer/register |
stockClassId | POST /stock-class/create |
stakeholderId | POST /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": []
}
}| Field | Required | Description |
|---|---|---|
name | Yes | Short label shown in UI/responses. |
text | Yes | Full legend body printed on certificates. |
comments | No | Free-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>"}'| Record | Route | Body |
|---|---|---|
| Stock class | GET /stock-class/id/:id | { issuerId } |
| Stock class count | GET /stock-class/total-number | { issuerId } |
| Stakeholder | GET /stakeholder/id/:id | { issuerId } |
| Stakeholder by issuer-assigned ID | GET /stakeholder/issuer_assigned_id/:id | { issuerId } |
| Stakeholder by wallet | GET /stakeholder/wallet/:address | { issuerId } |
| Stock legend | GET /stock-legend/id/:id | None |
| Stock plan | GET /stock-plan/id/:id | None |
Next: Issue and Accept Stock or API Reference.