Skip to content

Reference

ledger.asyncSubmit

Submit commands without blocking; pair with completions or wait helpers using submissionId.

asyncSubmit targets POST /v2/commands/async/submit. AsyncSubmitParams mirrors SubmitAndWaitParams (same commands bundle and defaults for commandIdasync-submit-…, actAs → client party).

Use HTTP completions, subscribeToCompletions, or waitForCompletion to observe outcomes via submissionId.

Receiver: await canton.ledger.asyncSubmit

Setup

import { Canton } from '@fairmint/canton-node-sdk';

const canton = new Canton({
  network: 'devnet',
  provider: '5n',
  partyId: 'OWN_PARTY_ID',
});

Minimal example

const accepted = await canton.ledger.asyncSubmit({
  commands: [],
});

console.log(accepted.submissionId);

Parameters — AsyncSubmitParams

Same surface as SubmitAndWaitParams: commands, optional commandId, actAs, userId, readAs, workflowId, deduplicationPeriod, ledger-time hints, submissionId, disclosedContracts, synchronizerId, packageIdSelectionPreference, prefetchContractKeys.

Returns — AsyncSubmitResponse

Participant acknowledgement payload including submissionId (string) for downstream completion correlation—inspect generated OpenAPI fields for any extras your Canton version returns.

Errors and pitfalls

Immediate validation failures surface ApiError even though execution continues asynchronously for accepted batches elsewhere.

Auth and party

OAuth credentials with appropriate act-as/read-as grants.

See also

Source

operations/v2/commands/async/submit.ts