Skip to content

Reference

ledger.allocateExternalParty

POST /v2/parties/external/allocate — finalize onboarding for an external party using signed topology or multi-hash signatures.

Completes onboarding for an AllocateExternalPartyParams payload: synchronizer, identityProviderId, plus either onboardingTransactions (serialized topology txs + Signature tuples) or multiHashSignatures when Canton accepts aggregated hashes instead of per-txn signatures.

Receiver: await canton.ledger.allocateExternalParty

Setup

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

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

Minimal example

const allocated = await canton.ledger.allocateExternalParty({
  synchronizer: 'global-synchronizer',
  identityProviderId: 'default',
  multiHashSignatures: [
    {
      format: 'SIGNATURE_FORMAT_RAW',
      signature: 'BASE64…',
      signedBy: 'PUBLIC_KEY_FP',
      signingAlgorithmSpec: 'SIGNING_KEY_SPEC_EC_CURVE25519',
    },
  ],
});

Parameters — AllocateExternalPartyParams

  • synchronizer (required, string) — Target synchronizer id.
  • identityProviderId (required, string) — Controls lifecycle semantics (default when unspecified upstream documentation differs—still supply explicitly).
  • onboardingTransactions (optional){ transaction, signatures[] }[] blobs produced post-signing.
  • multiHashSignatures (optional) — Alternative consolidated Signature list referencing Canton recommended onboarding flows.

Returns — AllocateExternalPartyResponse

OpenAPI-generated response acknowledging participant ingestion—consult Canton diagnostics per deployment.

Errors and pitfalls

Signature mismatches or stale topology blobs reject atomically—re-run generateExternalPartyTopology before retrying.

Auth and party

Requires onboarding-capable ledger identities tied to OAuth bearer authorization used elsewhere.

See also

Source

operations/v2/parties/external/allocate-external-party.ts