Issue Stock

Issue Stock

With an issuer, stock class, and stakeholder created, you can now issue stock to stakeholders. This is the first actual transaction on your cap table.

Send a POST request

Using Postman or curl, send a POST request to http://localhost:8293/transactions/issuance/stock

{
    "issuerId": "<YOUR_ISSUER_ID>",
    "data": {
        "stakeholder_id": "<YOUR_STAKEHOLDER_ID>",
        "stock_class_id": "<YOUR_STOCK_CLASS_ID>",
        "quantity": "100000",
        "share_price": {
            "amount": "4.20",
            "currency": "USD"
        },
        "stock_legend_ids": [],
        "custom_id": "CS-A-001",
        "security_law_exemptions": [],
        "comments": ["Founder stock issuance"]
    }
}

Replace the IDs with the _id values from your previous creation responses.

Check the response

The response includes your stock issuance with a generated id and security_id:

{
    "stockIssuance": {
        "id": "<GENERATED_ISSUANCE_ID>",
        "security_id": "<GENERATED_SECURITY_ID>",
        "date": "2026-01-01",
        "object_type": "TX_STOCK_ISSUANCE",
        "stakeholder_id": "<YOUR_STAKEHOLDER_ID>",
        "stock_class_id": "<YOUR_STOCK_CLASS_ID>",
        "quantity": "100000",
        "share_price": {
            "amount": "4.20",
            "currency": "USD"
        },
        "stock_legend_ids": [],
        "custom_id": "CS-A-001",
        "security_law_exemptions": [],
        "comments": [
            "Founder stock issuance"
        ]
    }
}

Stock Issuance Response

The security_id uniquely identifies this specific block of shares. You'll need it for future transactions like transfers or cancellations.

Required fields

FieldDescription
stakeholder_idThe stakeholder receiving the shares
stock_class_idThe class of stock being issued
quantityNumber of shares to issue
share_pricePrice per share with currency
stock_legend_idsArray of legend IDs (can be empty)
custom_idA custom identifier (e.g. "CS-A-001")
security_law_exemptionsArray of exemptions (can be empty)

Viewing historical transactions

Once stock is issued, you can view all transactions for an issuer:

GET /historical-transactions/issuer-id/<YOUR_ISSUER_ID>

This returns all stock issuances, transfers, cancellations, and other equity events.

What's next?

With stock issued, you can:

  • Transfer stock between stakeholders via POST /transactions/transfer/stock
  • Cancel stock via POST /transactions/cancel/stock
  • View transaction history via GET /historical-transactions/issuer-id/:issuerId

See the Transactions documentation for the full API reference.