Latest 0.1.4
License MIT
Platforms ios 10.0
Dependencies web3swift, SwiftKeychainWrapper

EtherWalletKit: an Ethereum Wallet Toolkit for iOS
License: MIT


EtherWalletKit is an Ethereum Wallet Toolkit for iOS.

I hope cryptocurrency and decentralized token economy become more widely adapted.
However, some developers hesitate to add a crypto wallet on apps since blockchian and cryptocurrency are complex and require many new knowledge.

Don’t worry.
With EtherWalletKit, you can implement an Ethereum wallet without a server and blockchain knowledge.


Released Features

  • Creating/Importing an account(address and private key)
  • Checking Ether and tokens balance
  • Sending Ether and tokens to other addresses
  • Browsing token information
  • Testnet(Rinkeby) support

    Planned Features

  • Browsing transaction history
  • Keystore / Mnemonics
  • Custom configuration
  • Multiple accounts
  • Third party APIs



CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate EtherWalletKit into your Xcode project using CocoaPods, specify it in your Podfile:

source ''
platform :ios, '10.0'

target '<Your Target Name>' do
    pod 'EtherWalletKit'

Then, run the following command:

$ pod install

Quick Start

0. Don’t forget to import it

import EtherWalletKit

1. Create an Ethereum Wallet

// Generate a new account with its new password.
try? EtherWallet.account.generateAccount(password: "ABCDEFG")

// Import an existing account from its private key and set its new password.
try? EtherWallet.account.importAccount(privateKey: "1dcbc1d6e0a4587a3a9095984cf051a1bc6ed975f15380a0ac97f01c0c045062, password: "ABCDEFG")

Note: password will be encrypted and saved to the device and it will be required to access the wallet.

2. Get balance

// Get balance of Ether
EtherWallet.balance.etherBalance { balance in

// Get balance of a token
EtherWallet.balance.tokenBalance(contractAddress: "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07") { balance in

3. Send

// send Ether to an address.
EtherWallet.transaction.sendEther(to: "0x7777787C97a35d37Db8E5afb0C92BCfd4F6480bE", amount: "1.5", password: "ABCDEFG") { txHash in

// send a token to an address.
EtherWallet.transaction.sendToken(to: "0x7777787C97a35d37Db8E5afb0C92BCfd4F6480bE", contractAddress: "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07", amount: "20", password: "ABCDEFG", decimal: 18) { txHash in

Note: password should be eqaul to the password of wallet created. Also you can put gasPrice as an extra parameter to set gas price for the transcation.


  • Make sure you have a GitHub account
  • Create a GitHub pull request for your contribution
    • Clearly describe the issue or feature.
  • Fork the repository on GitHub
  • Create a topic branch from where you want to base your work. (Gitflow is welcome)
    • Please avoid working directly on the master branch.
  • Make sure you have added the necessary tests for your changes and make sure all tests pass.


Only aceept cryptocurrency :joy:

ETH: 0x7777787C97a35d37Db8E5afb0C92BCfd4F6480bE


EtherWalletKit is available under the MIT license. See the LICENSE file for more info.

Latest podspec

    "name": "EtherWalletKit",
    "version": "0.1.4",
    "summary": "Ethereum Wallet Toolkit for iOS",
    "swift_version": "4.0",
    "description": "Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge.",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "SteadyAction": "[email protected]"
    "source": {
        "git": "",
        "tag": "0.1.4"
    "platforms": {
        "ios": "10.0"
    "source_files": "Sources/**/*",
    "dependencies": {
        "web3swift": [
            "~> 2.0"
        "SwiftKeychainWrapper": []

Pin It on Pinterest

Share This