Since
0xtrails@0.16.0, Trails uses its own built-in EVM runtime by default — wagmi is no longer required. Apps that already use wagmi can share that wallet session through @0xtrails/adapter-wagmi. See the 0.16 release notes for migration details.How it works
Trails can connect wallets in two ways:- Use the built-in wallet runtime, which is the default and requires no wallet provider setup.
- Pass an explicit adapter when your app already manages wallets through wagmi, Privy, Sequence, or a custom EIP-1193 provider.
Pick an integration path
| Wallet setup | Recommended Trails integration |
|---|---|
| No existing wallet setup | Use the built-in wallet runtime |
| Existing wagmi app | Use wagmiAdapter with the same wagmiConfig |
| Sequence Embedded Wallet | Use Sequence’s wagmi config with wagmiAdapter |
| Privy embedded wallet with wagmi | Use Privy’s wagmi config with wagmiAdapter |
| Privy embedded wallet without wagmi | Use Privy’s EIP-1193 provider with evmAdapter |
| Custom EIP-1193 provider | Use evmAdapter from 0xtrails |
Built-in wallet runtime
This is the simplest path. If your app does not already use wagmi, Privy, Sequence, or another wallet system, render a Trails widget or focused component directly.wagmi
Use wagmi only when your app already has aWagmiProvider and Trails should share that session.
- Install
0xtrails,@0xtrails/adapter-wagmi,wagmi,viem, and@tanstack/react-query. - Reuse the exact same
wagmiConfiginstance forWagmiProviderandwagmiAdapter(...). - Put adapters on either
TrailsProvider config.adaptersor a widget/focused componentadaptersprop, not both.
Sequence Embedded Wallet
Sequence’s current Embedded Wallet Web SDK is wagmi-based. Configure Sequence with@0xsequence/connect, then pass sequenceConfig.wagmiConfig to Trails.
sequenceConfig.wagmiConfig.
Privy embedded wallets
Integrate Privy for seamless embedded wallet experiences. You can try live demos below: Privy works with Trails either through wagmi or directly through Privy’s EIP-1193 provider.Privy with wagmi
Use this when your app already uses wagmi hooks or wants Privy to manage the active wagmi wallet.PrivyProvider, QueryClientProvider, WagmiProvider, and TrailsProvider with that same config. See the full Privy with wagmi setup.
Privy without wagmi
Use this when your app wants Privy embedded wallets but does not want wagmi. Read the connected Privy wallet withuseWallets(), get its EIP-1193 provider, then pass it to evmAdapter.
Custom EIP-1193 providers
UseevmAdapter for any non-wagmi wallet that exposes a standard EIP-1193 provider.
Supported wallet types
Trails supports common wallet setups including:- Built-in wallet runtime: no wallet provider setup required
- Injected wallets: MetaMask, Coinbase Wallet, Brave Wallet
- WalletConnect: any wallet supporting WalletConnect
- Smart contract wallets: Sequence, Safe, Biconomy
- Embedded wallets: Privy, Dynamic, Magic
- Custom EIP-1193 providers: in-app wallets, embedded wallets, or custom signers
Key benefits
- Universal compatibility: Works with the built-in runtime, wagmi, or standard EIP-1193 providers
- No wallet modifications: Wallets don’t need ERC-7702, 4337, or other external dependencies
- Cross-chain transactions: Complex multi-chain operations in 1-click
- Flexible integration: Use Trails directly or share your existing wallet infrastructure