Skip to content

Reference

submitExternalPartyTopology

Submit signed topology payloads emitted by generateExternalPartyTopology along with key attestations.

submitExternalPartyTopology finalizes external-party onboarding once cryptographic proofs accompany generated topology blobs.

Setup

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

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

Import and receiver

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

Receiver: canton.validator.submitExternalPartyTopology.

Minimal example

await canton.validator.submitExternalPartyTopology({
  public_key: '<same hex pubkey passed to generateExternalPartyTopology>',
  signed_topology_txs: [
    {
      topology_tx: '<base64-encoded topology transaction>',
      signed_hash: '<hex signature over hashed topology>',
    },
  ],
});

Parameters

  • public_key (required, string) — Hex-encoded verifying key tied to signatures below.
  • signed_topology_txs (required, array) — Entries pairing each base64 topology_tx with a hex signed_hash as Canton mandates.

Returns

Validator acknowledgement payload confirming topology submission.

Errors and pitfalls

  • Signature mismatch: KMS mismatch yields deterministic rejection — rotate proofs offline before retrying.
  • Stale topology: Already-applied submissions behave differently depending on validator revision—consult Canton topology sequencing docs.

Auth and party

Bearer token permitted on /admin/external-party/topology/submit.

See also

Source

src/clients/validator-api/operations/v0/admin/submit-external-party-topology.ts on GitHub.