> For the complete documentation index, see [llms.txt](https://docs-core.allbridge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-core.allbridge.io/ai/local-signer-mcp/wallet-selection.md).

# Wallet Selection

### How to choose a wallet

Prefer explicit wallet selection when the client supports it.

Use the most specific identifier available:

* `walletId` when the client already knows the configured local wallet
* `from` when the flow is EVM-based and the sender address is enough to select the wallet
* explicit wallet-family hints when the request is chain-specific

### Selection rules

* For EVM, use `walletId` first, then `from` when the sender address is enough to select the wallet.
* For Solana, Tron, Algorand, Stacks, Soroban / Stellar, and Sui, use the configured wallet entry for that family.
* When more than one wallet exists, use `walletId` instead of guessing.

### EVM selection order

For EVM, the signer resolves credentials in this order:

1. `walletId` on the transaction, if provided
2. `from` on the transaction, if provided
3. `LOCAL_SIGNER_EVM_WALLET_<walletId>_PRIVATE_KEY` / `LOCAL_SIGNER_EVM_WALLET_<walletId>_RPC_URL`
4. `LOCAL_SIGNER_EVM_PRIVATE_KEY_<chainSymbol>` / `LOCAL_SIGNER_EVM_RPC_URL_<chainSymbol>`
5. `LOCAL_SIGNER_EVM_PRIVATE_KEY_<chainId>` / `LOCAL_SIGNER_EVM_RPC_URL_<chainId>`
6. `LOCAL_SIGNER_EVM_PRIVATE_KEY` / `LOCAL_SIGNER_EVM_RPC_URL`

### Safety

Never infer a wallet selection that would point to an unexpected account when the request can be resolved explicitly.
