> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhinestone.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom signer

> Build with Rhinestone smart accounts using your choice of signer and authentication experience.

Custom signer lets you build with Rhinestone smart accounts while choosing how users authenticate and authorize actions. Bring an existing wallet provider, connect an external wallet, or manage signing directly with ECDSA keys or passkeys.

The Rhinestone SDK handles account creation and transaction orchestration, while your chosen signer supplies approvals. This lets you add smart-account capabilities without replacing your existing authentication experience.

## Separate the signer from the account

A signer authorizes actions; the smart account holds assets and executes calls. For contract accounts, these have different addresses.

You can configure a single owner, require multiple signatures, or combine validator types for multi-factor authentication. Choose based on where keys should live and who must approve an action.

The account implementation is a separate choice. The SDK defaults to Nexus and supports alternatives including Safe and Kernel. Account creation computes a deterministic address; deployment happens when the account first transacts on each chain.

## Extend account behavior

Smart accounts can support more than owner-approved transactions. [Session keys](/wallets/session-keys/custom-setup/create-a-session) let you delegate actions to separate session signers, with policies defining their authority. [Guardian recovery](/wallets/custom-signer/recovery/set-up) lets configured guardians replace owners if access is lost.

These capabilities require explicit configuration. Your application chooses the permissions and recovery authorities, protects signing credentials, and presents or validates actions before requesting approval.

## Get started

Follow the quickstart for a complete account-to-transaction example, then adapt the signer and account configuration to your application.

| Guide                                                                                   | What it covers                                                                 |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [Quickstart](/wallets/custom-signer/quickstart)                                         | Create and fund a smart account, then send a crosschain transaction.           |
| [Choose a signer](/wallets/custom-signer/account-setup/choose-a-signer)                 | Compare native keys, passkeys, wallet providers, multisig, and MFA.            |
| [Create an account](/wallets/custom-signer/account-setup/create-an-account)             | Configure ownership and derive or restore an account address.                  |
| [Smart account providers](/wallets/custom-signer/configuration/smart-account-providers) | Choose the account implementation and its deployment configuration.            |
| [Security](/wallets/custom-signer/integration/security)                                 | Protect credentials, authenticate SDK requests, and validate signing requests. |
