asyncSubmit targets POST /v2/commands/async/submit. AsyncSubmitParams mirrors SubmitAndWaitParams (same commands bundle and defaults for commandId → async-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.