Practical overview
When it fits
Use it when an Android application needs a Kotlin-based EVM wallet and transaction layer with documented integrations across Ethereum, Binance Smart Chain, Polygon, Arbitrum One, Optimism and Avalanche C-Chain.
Who it is for
- Android developers building EVM wallet applications
- Teams adding watch-only address monitoring to an Android app
- Developers implementing token, NFT and transaction synchronization
- Builders creating Android wallet interfaces with swaps or DeFi contract interactions
Documented uses
- Create or restore wallets from supported key material or an address
- Monitor read-only accounts
- Store and synchronize ETH, token, NFT and transaction data
- Filter and retrieve transactions by supported types
- Construct, sign and submit EVM transactions
Requirements & limits
The repository is public, active in the supplied records, and licensed under MIT. No pricing or account requirement is documented.
- Android and Kotlin are required by the documented SDK scope.
- The listed network integrations cover Ethereum, Binance Smart Chain, Polygon, Arbitrum One, Optimism and Avalanche C-Chain.
- Wallet restoration supports mnemonic phrases, BIP39 seeds, EVM private keys and addresses.
- Transaction synchronization is documented over HTTP and WebSocket.
- The SDK includes EIP-20, EIP-721, EIP-1155, ENS and EIP-1559 support.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Initialize and synchronize an EthereumKit account
Create an EthereumKit instance for an address and start blockchain-state synchronization.
Before you start
- An Android application using Kotlin.
- An address and a selected EVM chain.
- An Infura HTTP RPC source, an Etherscan transaction source and a unique wallet identifier.
Steps
Create an EthereumKit instance with the application context, address, chain, RPC source, transaction source and unique wallet ID.
Call start on the EthereumKit instance to begin synchronization.
Read account state, last block height and synchronization state directly or collect their Kotlin Flow values.
Call stop when synchronization should end.
Expected outcome
The application can observe account data, block height and synchronization state, and can collect synchronized transactions.
Guide limitations
- The documented example uses Infura and Etherscan sources.
- The evidence does not establish production suitability, security properties or support beyond the listed networks.
Construct, sign and send an Ethereum transaction
Prepare and submit a native Ethereum transaction using the documented signer and EthereumKit flow.
Before you start
- An initialized EthereumKit instance.
- A mnemonic seed and chain for creating a Signer.
- A recipient address, amount and gas-price value.
- A coroutine scope for suspend network calls.
Steps
Create a Signer from the mnemonic-derived seed and Ethereum chain.
Build transfer transaction data with the recipient address and amount.
Estimate gas and generate a raw transaction, which synchronizes the nonce.
Sign the raw transaction and send it through the EthereumKit instance.
Read the returned transaction hash and transaction details.
Expected outcome
The documented flow returns a sent transaction object and exposes its hash, recipient and amount.
Guide limitations
- The example is for an Ethereum transfer and uses a mnemonic-derived signer.
- The evidence does not establish transaction success beyond the documented return flow or describe production key-management practices.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 1 October 2026
- Original website title
- horizontalsystems/ethereum-kit-android · Official homepage title · retained in its source language

