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 consolidatedSignaturelist 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.