Skip to main content
The Trails Widget is not tied to any particular wallet library. The SDK talks to wallets through adapters: small factories that bridge an existing wallet runtime (wagmi, an EIP-1193 provider, a Solana wallet, an embedded wallet SDK) into the Trails widget. Omit adapters entirely and Trails uses its built-in EVM wallet runtime, your app wallet context stays separate. Pass adapters when your app already owns wallet state and Trails should share it instead of managing its own.

Available adapters

Wallet SDKs that can produce an EIP-1193 provider don’t need a dedicated adapter — they plug into evmAdapter directly. See the thirdweb guide for a complete example of this pattern.

Where to pass adapters

Adapters are a widget-only feature. Pass them on focused widget components such as Pay, Fund, Swap, Earn, Withdraw.

Mixing adapters

You can pass several adapters together. EVM adapters compose into one wallet runtime; Solana adapters stack alongside, so EVM and Solana wallets work in the same widget:

Choosing an adapter

  1. No existing wallet stack? Pass no adapters — the built-in runtime handles injected wallets and WalletConnect.
  2. App on wagmi? Use wagmiAdapter. One package supports wagmi 2 and wagmi 3. Wagmi-based wallet SDKs such as Dynamic (Fireblocks embedded wallets) plug in the same way — no custom Trails code needed.
  3. Embedded or custom wallet that speaks EIP-1193? Use evmAdapter. This covers wallet SDKs that expose an EIP-1193 provider directly, such as thirdweb.
  4. Solana? Add svmAdapter.