WalletKit lets apps hold World ID credentials and prove things about their holder with World ID. It is the reference implementation for World ID clients and part of the World ID SDK.
WalletKit is written in Rust and ships as a Rust crate, Swift and Kotlin bindings generated with UniFFI, and a browser package that runs it as WebAssembly.
- Integrate World ID: start with the World ID developer docs.
- Use WalletKit: the WalletKit book covers installation, accounts and credentials, proofs, logging, and the browser package.
- API reference: see
walletkitandwalletkit-coreon docs.rs. - Contribute: see the contributing guide and the development docs.
| Platform | Package |
|---|---|
| Rust | walletkit |
| iOS | worldcoin/walletkit-swift (Swift Package Manager) |
| Android | org.world:walletkit (GitHub Packages) |
| Browser | @worldcoin/walletkit-web |
| Crate | Description |
|---|---|
walletkit |
The published entry point, re-exporting walletkit-core. |
walletkit-core |
Accounts, credential storage, and World ID proofs; the UniFFI surface for Swift and Kotlin. |
walletkit-db |
Encrypted on-device storage: vault, content-addressed blobs, key envelope, and cross-process lock. |
walletkit-sqlite |
Safe Rust wrapper around encrypted SQLite (sqlite3mc). |
walletkit-web |
wasm-bindgen facade over walletkit-core for the browser package. |
walletkit-cli |
Developer CLI for accounts, credentials, and proofs. |
walletkit-testkit |
End-to-end test helpers. |
uniffi-bindgen |
Generates the Swift and Kotlin bindings. |
crates/: Rust cratesswift/andkotlin/: Swift package and Android library configuration, with their binding testsweb/walletkit/: the browser packageexamples/: example apps, including a Next.js app that registers an account, issues a credential, and generates a proof with the browser packagedocs/: sources of the WalletKit bookxtask/: build automation for the Swift and Kotlin packages (cargo xtask)nix/: development shells for Android, WebAssembly, and host buildsaudits/: security audit reports
Report security issues privately to
security@toolsforhumanity.com, not in
public issues. For details, see SECURITY.md.