When to use
ChoosewalletsKit when your users already have a Stellar wallet installed. It suits classic
G... accounts backed by an existing keypair. For new users who have no wallet, consider the
passkey signer instead.
Factory
walletsKit(opts) accepts a KitOptions object:
| Option | Type | Required | Description |
|---|---|---|---|
network | "testnet" | "pubnet" | Yes | Which Stellar network to target |
selectedWalletId | string | No | Pre-select a wallet (default: Freighter) |
BuckspaySigner. The browser wallet library is loaded lazily on first use
so it never runs during server-side rendering.
Example
The snippet below shows a complete classic gasless transfer usingwalletsKit paired with
classicAccount. This is the canonical starting point for users who already have a wallet.
How signatures work
Freighter historically returned a double-encoded auth entry in some versions. The Wallets Kit signer appliesnormalizeSignature internally before returning, so your code always receives a
clean 64-byte signature regardless of which wallet or version the user has installed.
Next
Passkey
Passwordless flow for new users - no wallet required.
Account models
Pair walletsKit with classicAccount or ozContractAccount.

