Skip to main content
After you have installed and configured AppKit, you can start using it to interact with the wallet provider and blockchain.

EVM

AppKit comes with the Nethereum and Wagmi integration out of the box. To interact with EVM chains use AppKit.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 the SendTransactionAsync method of the Web3.Eth class.
This type of transaction uses the default amount of Gas 21000. Gas price is determined by the wallet provider.

Reading Blockchain State

Get Ether Balance

Smart Contract Interaction

Use ReadContractAsync 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 preconfigured Web3 instance from AppKit:
This 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 use AppKit.Solana. For the full list of Solana-specific methods, see the Solana Actions documentation
You can refer to Reown.SolanaCore.Unity playground project for complete example.

AppKit with Solana Unity SDK

Reown provides an optional Reown.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 into Web3 via web3.WalletBase.
  • Hooks AppKit events (AccountConnected, AccountChanged) to keep Web3.Account in sync.
  • Proxies signing to AppKit:
    • Transactions: AppKit.Solana.SignTransactionAsync, SignAllTransactionsAsync
    • Messages: AppKit.Solana.SignMessageAsync

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

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 on Web3.
For full setup (prefab, logging, Android/iOS/WebGL notes), see the AppKit docs.

Using the extension methods

The adapter adds extension methods to Web3.
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 call LoginAppKit (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
Example:

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.