Skip to main content
You are viewing docs for the previous version of the Wallets SDK. We recommend upgrading to V1. See the updated version of this page or the V1 migration guide.
Previous versions of these guides used the term delegated signer. We have moved to operational signer as the standard terminology. The next breaking API / SDK version will adopt this naming convention in method signatures and types. Until then, the code snippets below still reference addDelegatedSigner and delegatedSigners.
Register an operational signer on an existing wallet for day-to-day operations. This signer can be set up with the wallet owner — for example, a device key for user wallets or a server key for company wallets. For an overview of available signer types, see Wallet Signers.

Prerequisites

  • Ensure you have a wallet created.
  • API Key: Ensure you have an API key with the scopes: wallets:signatures.create and wallets:transactions.create.

Adding an operational signer

import { useWallet } from '@crossmint/client-sdk-react-ui';

const { wallet } = useWallet();

const externalSigner = {
    type: "external-wallet",
    address: "0x1234567890123456789012345678901234567890"
}

await wallet.addDelegatedSigner({
    signer: externalSigner,
});
See the React SDK reference for more details.

Listing all operational signers

import { useWallet } from '@crossmint/client-sdk-react-ui';

const { wallet } = useWallet();

const signers = await wallet.delegatedSigners();
See the React SDK reference for more details.