Welcome

Package status

Static Badge

Static Badge

The auth kit for ICP dApps

NFID IdentityKit (opens in a new tab) is a React library that makes it easy to add wallet connection to your dapp. It's intuitive, responsive and customizable. Developers will be able to easily select which wallets they want to support in their apps for authentication, signatures, and transfers.

Features

Instant user onboarding

NFID Wallet (the only on-chain single-signature wallet with email onboarding) and Internet Identity (DFINITY Foundation's authentication provider) are two self-custody wallets users can get without downloading a browser extension, mobile app, or writing down a seed phrase.

Uninterrupted user experiences

Keep users immersed in your dapp by removing wallet approval pop-ups with delegations. Traditional Web3 UX requires users approve every transaction that updates smart contract state. With delegations, dapps can design user experiences with fewer (or no) wallet approval pop-ups.

Wallet management

Out-of-the-box wallet management for your dapp. Aside from handling the connection and disconnection of wallets, IdentityKit supports numerous wallets, allows dapps to request wallet signatures and canister calls, and abstracts all the complexity behind an easy-to-use SDK.

Customizable

Tweak IdentityKit UI to match your style. You can pick from two modal modes - Featured and Compact - three color themes - light, dark, and system - and choose the order and display of the wallets you want to support.

Industry standard

The NFID team worked with the community and DFINITY to create the standards (opens in a new tab) apps need to interact with users, and packaged them into IdentityKit to make working with them easy for developers:

  • ICRC-25 to get permissions and the wallet's supported standards
  • ICRC-27 to get wallet addresses
  • ICRC-34 to get a wallet address delegation
  • ICRC-49 to execute authenticated canister calls

Use the interactive demo (opens in a new tab) and get started with installation.