EVM
AppKit comes with the Nethereum and Wagmi integration out of the box. To interact with EVM chains useAppKit.Evm
(see Actions for more details). Internally, AppKit will use Wagmi on WebGL or Nethereum on other platforms.
Nethereum is already preconfigured with RPC URL and interceptor that will route the requests between the wallet provider and RPC node.
Sending Ether
To send ether, you can use theSendTransactionAsync
method of the Web3.Eth
class.
Reading Blockchain State
Get Ether Balance
Smart Contract Interaction
UseReadContractAsync
and WriteContractAsync
methods of AppKit.Evm
to interact with smart contracts.
To read or write a smart contract function, you need to provide the contract address, ABI, method name, and arguments.
Get ERC20 Token Balance
To get the balance of an ERC20 token, you need to know the contract address, ERC20 standard contract ABI, and the owner address. This operation doesn’t involve state change on the blockchain, so it’s a read-only action that doesn’t require a transaction.Send ERC20 Token
To send an ERC20 token, you need to know the contract address, ERC20 standard contract ABI, recipient address, and the amount of tokens to send. This operation requires a transaction and gas fees because it changes the state of the blockchain. User will need to confirm the transaction in the wallet.Usage with Solidity Structs
To use Solidity structs when interacting with smart contracts on native platforms, you need to define them as C# classes and mark them with the function encoding attributes from Nethereum. This is not required on WebGL platforms.Nethereum Integration
AppKit offers deep integration with Nethereum on native platforms, with limited support on WebGL. If you need to use Nethereum directly, you can access a preconfiguredWeb3
instance from AppKit:
Web3
instance is preconfigured with Reown’s Blockchain API for the active chain and includes a request interceptor that routes requests between RPC node and the connected wallet (if needs signing).
Avoid caching this Web3
instance, as it may be updated when the active chain is switched.
Solana
AppKit supports Solana self-custodial wallets on iOS, Android, Windows, and macOS via WalletConnect protocol. Support for WebGL and other login methods, including social login, is planned. Out of the box, AppKit handles Solana-enabled wallet connection, Solana RPC, and message signing — no third-party packages required. AppKit can also forward transactions to wallets for signing. If you need to build the transaction object, you’ll want to use third-party client- or server-side tool. This part isn’t included by default. If you’re using the Solana Unity SDK from Magic Blocks, you can use our adapter package. It lets you keep using the same Solana Unity APIs, with just a few extra lines of code to support AppKit-powered wallet connections. Depending on your goals and project stage, you can choose the integration flow that fits best. Below is a brief description of each approach.Built-in Solana Actions
After completing AppKit installation, add Solana chain to your AppKit configuration and useAppKit.Solana
.
For the full list of Solana-specific methods, see the Solana Actions documentation
AppKit with Solana Unity SDK
Reown provides an optionalReown.AppKit.Solana.Unity
adapter package that connects Reown AppKit to the Solana Unity SDK.
It provides an AppKit-backed WalletBase
so you can keep using Web3
instance from Solana.Unity.SDK
while all signing and session management go through AppKit.
What this adapter does
- Installs an AppKit-powered wallet (
AppKitWalletBase
) and wires it intoWeb3
viaweb3.WalletBase
. - Hooks AppKit events (
AccountConnected
,AccountChanged
) to keepWeb3.Account
in sync. - Proxies signing to AppKit:
- Transactions:
AppKit.Solana.SignTransactionAsync
,SignAllTransactionsAsync
- Messages:
AppKit.Solana.SignMessageAsync
- Transactions:
Requirements
Solana.Unity-SDK
in your Unity project (https://github.com/magicblock-labs/Solana.Unity-SDK
).- Reown AppKit for Unity set up in your scene (follow the Installation).
Installation
- OpenUPM CLI
- Package Manager with OpenUPM
To install AppKit adapter for Solana Unity SDK via OpenUPM, you need to have Node.js and openupm-cli installed. Once you have them installed, you can run the following commands:
Quick start
Initialize AppKit once on startup, then use the extension methods onWeb3
.
Using the extension methods
The adapter adds extension methods toWeb3
.
Try to resume an AppKit session
Login with AppKit (default AppKit modal UI)
Login with a specific wallet
After login: keep using Solana.Unity SDK
Once you callLoginAppKit
(or a session resume succeeds), the adapter sets web3.WalletBase = AppKitWalletBase
. From that point:
- Existing
Web3
calls keep working. - Any required signatures are requested through AppKit.
- You can also use all existing AppKit APIs, e.g. methods from
AppKit.Solana
Notes
- If
Web3.customRpc
is not set, the adapter will use the RPC provider provided by Reown. - We provide a modified Solana Unity SDK sample project that demonstrates AppKit integration. See it here. Note: the upstream sample has a few known issues, unrelated to AppKit, that we left as‑is.