Skip to content

Reference

Issuer — buildCreate (CreateCapTable)

Build ExerciseCommand plus disclosed IssuerAuthorization for CreateCapTable; submit through ocp.createBatch.

Create the issuer row and blank cap table skeleton through the IssuerAuthorization template’s CreateCapTable choice. The SDK validates OCF issuer data, converts to DAML, and emits a command pair you submit with ocp.createBatch({ actAs }).addBuiltCommand({ command, disclosedContracts }). Issuers cannot be queued through CapTableBatch.create(‘issuer’).

Import and receiver

  • Import OcpClient, toPartyId as needed.
  • Receiver: ocp.OpenCapTable.issuer.buildCreate(params).

Minimal example

const built = ocp.OpenCapTable.issuer.buildCreate({
  issuerAuthorizationContractDetails: issuerAuthorizationContractDisclosedContract,
  issuerParty: toPartyId('issuer::example'),
  issuerData: {
    id: 'issuer_example',
    legal_name: 'Example Labs, Inc.',
    country_of_formation: 'US',
    formation_date: '2024-06-01',
    tax_ids: [],
  },
});

await ocp
  .createBatch({ actAs: [toPartyId('issuer::example')] })
  .addBuiltCommand(built)
  .submitAndWaitForTransactionTree();

Parameters

  • issuerAuthorizationContractDetails (required) — DisclosedContract describing the pinned IssuerAuthorization template + cid you received from authorization.
  • issuerParty (required) — Party id that exercises CreateCapTable.
  • issuerData (required) — Native OCF issuer fields (for example id, legal_name, ISO country_of_formation, formation_date, optional contact arrays). Arrays like tax_ids normalize to [].

Returns

CommandWithDisclosedContracts: command (ExerciseCommand) plus disclosedContracts needed for Canton submission.

Errors

OcpValidationError when schema parse / entity validators reject the payload.

Auth

The batch’s actAs must include issuerParty (and meet your token policy).

Source