Skip to main content
The App Kit SDK uses adapters to connect SDK calls to a client and signer. The client reads blockchain data and submits signed transactions while the signer authorizes transactions from a private key, browser wallet, or wallet provider. The following adapters are supported:
Before setting up an adapter, you should already have created the wallet, account, API keys, and policies in your wallet provider.
Pick your adapter to see its setup options.
Use the Viem adapter for EVM apps that use viem accounts or wallet clients.

Server-side wallet

Use a server-side wallet when your backend signs transactions. The signer can be a private key or a wallet provider.
Create one adapter from your wallet private key. The adapter works across EVM blockchains and uses built-in public RPC endpoints.
Default RPC URLs are shared and may be rate-limited. For a more stable connection, configure a custom RPC.
TypeScript

Browser wallet

This setup expects a wallet extension in the browser (for example window.ethereum or window.solana), not a Node.js server. You can use wallets like MetaMask or Phantom:
Use EIP-6963 to discover injected browser wallets, select a provider, request access to the user’s accounts, then pass the provider to the Viem adapter.The example selects MetaMask by reverse-DNS identifier. To use any injected wallet, omit requiredRdns.
TypeScript

Custom RPC

By default, adapters use built-in RPC endpoints, which may be rate-limited or unreliable. Override them with your own provider. Alchemy, QuickNode, and chainlist.org are common places to source endpoints. This example uses Alchemy.The getPublicClient/getWalletClient override pairs with any signer setup that uses viem, such as a private key or browser wallet.
TypeScript