Skip to content

Reference

executeExternalTransaction

Submit interactiveSubmissionExecute with signatures produced offline for the prepared transaction blob.

executeExternalTransaction forwards interactiveSubmissionExecute with defaults:

  • hashingSchemeVersionHASHING_SCHEME_VERSION_V2
  • deduplicationPeriod30s DeduplicationDuration

Provide partySignatures matching Canton interactive submission expectations.

Setup

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

const canton = new Canton({
  network: 'NETWORK_NAME',
  partyId: 'PARTY_ID',
});

Minimal example

const executeResponse = await executeExternalTransaction({
  ledgerClient: canton.ledger,
  userId: 'USER_ID',
  preparedTransaction: PREPARED_BLOB_STRING,
  submissionId: 'SUBMISSION_ID',
  partySignatures: SIGNATURE_ARRAY_PLACEHOLDER,
});

Parameters

ExecuteExternalTransactionOptions:

  • ledgerClient, userId, preparedTransaction, submissionId, partySignatures (required) — Mirrors InteractiveSubmissionExecuteRequest keys.
  • hashingSchemeVersion, deduplicationPeriod (optional overrides).

Returns

Promise<InteractiveSubmissionExecuteResponse> — Submission acknowledgement payload.

Errors

Propagates ledger interactive submission failures (INVALID_ARGUMENT, consensus errors, signature mismatches).

Auth and party

Uses userId session authorized for interactiveSubmissionExecute.

See also

Source

src/utils/external-signing/execute-external-transaction.ts