butr
Why butr

Comparison with other solutions

butr is a discovery and connection-state layer, not a chain library or a connect modal; here is how it lines up against the categories of tools it composes with.

butr is not a replacement for the wallet tooling you already use. It is the layer most of that tooling skips: discovery and connection state. It composes with chain libraries and wallet SDKs rather than competing with them.

The categories below describe how each kind of tool typically behaves, not a scored ranking of any one product.

  • EVM connect kits: wallet detection plus a connect modal for EVM, usually bound to a single chain library.
  • Solana wallet adapters: Wallet Standard discovery and React context for Solana, scoped to SVM.
  • Embedded / MPC wallet platforms: hosted or key-managed wallets behind a vendor SDK, often spanning chains but custodial in some form.

Capability matrix

CapabilityEVM connect kitsSolana wallet adaptersEmbedded / MPC platformsbutr
Multi-chain in one pool, equal footingEVM onlySVM onlyVaries, vendor-definedYes
Framework-agnostic, React-free coreVariesBase adaptersVariesYes
No chain-library lock-in (raw signer escape hatch)CoupledCoupledVendor SDKYes
Modular install: drop a platform entirelyN/AN/ANoYes
Connector-shaped extension seam (bring your own adapter)LimitedStandard-boundNoYes
Standards compliance (EIP-6963 / EIP-1193 / Wallet Std)EIP onlyWallet Std onlyAbstracted awayBoth
Built-in mock adapters for unit testsRareRareVendor mocksYes

Named products

Verified against each project's documentation on 2026-09-08. Chain support below refers to the documented integration, not every chain a connected wallet might support. “Not documented” means the linked documentation does not establish the capability; it is not a claim that an extension is impossible.

ProductEVMSolanaSuiBitcoinPolkadotConnect modalChain-library dependencyReact-free coreDiscoveryRaw provider accessTest fakes
wagmiYesOutside Ethereum scopeOutside Ethereum scopeOutside Ethereum scopeOutside Ethereum scopeConsumer UIviem@wagmi/coreEIP-6963 / injected connectorsConnector providermock connector
RainbowKitYesOutside documented scopeOutside documented scopeOutside documented scopeOutside documented scopeYeswagmi + viemReact UI; uses wagmi coreEIP-6963 / EIP-1193Through wagmi connectorsThrough wagmi mock
@solana/wallet-adapter-reactOutside Solana scopeYesOutside Solana scopeOutside Solana scopeOutside Solana scopeSeparate react-ui package@solana/web3.jsSeparate base/adaptersWallet Standard / Mobile Wallet Adapter / legacy adaptersAdapter methods; wallet-dependentNot documented
Reown AppKitYesSolana adapterAppKit CoreBitcoin adapterNamespace option; see noteYesAdapter-specific (wagmi, ethers, Solana)JavaScript integrationEIP-6963; adapter-specific discoveryuseAppKitProvider returns adapter providerNot documented
butrYesYesYesYesYesConsumer UINone in discovery/core@usebutr/coreEIP-6963 / Wallet Standard / injected fallbacks / injectedWeb3getSigner; tagged by transport@usebutr/testing

Reown's JavaScript guide provides a Sui example through AppKit Core's Universal Connector. Its options reference lists a Polkadot namespace; the reviewed installation guide does not establish an injectedWeb3 integration. These are separate capabilities from the dedicated discovery adapters in butr.

“Raw provider access” is not a uniform type across ecosystems. wagmi exposes connector providers, AppKit exposes its adapter's provider, Solana Wallet Adapter exposes adapter methods, and butr returns a signer tagged by transport: an EIP-1193 provider, a Wallet Standard wallet, or a transport-specific handle such as a Ledger device app. See signer bridges.

Sources for the architectural columns:

What butr deliberately does not do

butr ships no RPC client, no connect modal, and no key custody. It does not build transactions or render UI.

That smaller surface is the reason it composes. Because butr stops at discovery and connection state, it slots underneath a connect kit's UI, beside an embedded-wallet SDK, and in front of any chain library, without forcing you to adopt the rest of its world. If you want a modal, bring one. If you want viem, bring viem. butr only guarantees you know which wallets exist and which are connected.

→ Why butr exists

This matrix reflects typical behavior of each category, not a feature-by-feature scoring of a specific named product. The named-product table above documents individual products separately.