/keplr-wallet

The most powerful wallet for the Cosmos ecosystem and the Interchain

Primary LanguageTypeScriptOtherNOASSERTION

Keplr Wallet

License Twitter: Keplr Wallet

The most powerful wallet for the Cosmos ecosystem and the Interchain.

Official Releases

NOTE: We do not accept native integrations to the official releases through pull requests. Please feel free to check out Keplr Chain Registry repo for permissionless integrations with your chain.

You can find the latest versions of the official managed releases on these links:

For help using Keplr Wallet, Visit our User Support Site.

Building browser extension locally

Requirements

  • protoc v21.3 (recommended)

      # This script is example for mac arm64 user. for other OS, replace URL(starts with https://..) to be matched with your OS from https://github.com/protocolbuffers/protobuf/releases/tag/v21.3
      curl -Lo protoc-21.3.zip https://github.com/protocolbuffers/protobuf/releases/download/v21.3/protoc-21.3-osx-aarch_64.zip 
      unzip protoc-21.3.zip -d $HOME/protoc
      cp -r $HOME/protoc/include /usr/local
      cp -r $HOME/protoc/bin /usr/local
  • Node.js v18+

Clone this repo and run:

yarn && yarn build

You can find the build output of Keplr Extension in apps/extension/build/manifest-v3. This output only works on Chrome now, so we recommend using other build outputs (in apps/extension/build/manifest-v2 or apps/extension/build/firefox) for other browsers. You can visit this page for instructions on loading the build output on Chrome.

Building mobile app locally

WIP

Packages

Package Description Latest
@keplr-wallet/background The core logic of wallet running in the background. Interfaces to communicate with other processes are also defined. npm version
@keplr-wallet/cosmos Interfaces that are compatible with the data from Cosmos SDK, Tendermint based chains. npm version
@keplr-wallet/crypto Implementations of key cryptography for wallet. Hashing (sha256, keccak256), elliptic curve (secp256k1), HD key derivation (BIP-32, BIP-39). npm version
@keplr-wallet/proto-types scripts to generate .proto files into typescript files, and the types generated. npm version
@keplr-wallet/provider Implementations that makes some of the wallet's core logic externally available. npm version
@keplr-wallet/router Interfaces used to communicate with the background. npm version
@keplr-wallet/stores The core logic of application's state, query and wallet is implemented on top of Mobx. npm version
@keplr-wallet/types Types used across packages. npm version
@keplr-wallet/unit Interfaces defined to handle token quantities and values, integers, floating points, etc. npm version

Dapp example

Refer to the Keplr Example repository for examples of how to integrate Keplr signing support for your web interface/application.

Disclaimer

Usage of any other packages besides @keplr-wallet/types is not recommended.

  • Any other packages besides @keplr-wallet/types are actively being developed, backward compatibility is not in the scope of support.
  • Since there are active changes being made, documentation is not being updated to the most recent version of the package as of right now. Documentations would be updated as packages get stable.

Also, this repo contains submodules that are not open sourced and are only available through the Chainapsis’ official Keplr Browser Extension release. However, all primary features of the extension will work without the closed sourced submodules.

License

Browser Extension

Apache 2.0

iOS / Android App

Copyright (c) 2021 Chainapsis Inc. All rights reserved.