This group works towards the development and adoption of ICRC standards related to identity and wallets on the Internet Computer. This repository is used to collaborate, document decisions, discuss changes, raise issues and provide feedback.
The following process is followed for standards within this working group.
If you have a good idea or a need for a standard, feel free join a meeting or bring it up on the forum or Discord.
Keep in mind it should be related to Identity and/or Wallets built on the IC to be picked up. In case you have other ideas, still feel free to reach out, we'll try to help you find the right working group.
These ideas are then translated into the draft standards by their original contributor and/or with help of members within this working group. Draft standards enable developers to create early reference implementations.
Approved standards are actively being implemented by developers and candidates for an official ICRC standard once adoption has reached an adequate level.
Before jumping into the standards, it's recommended to read the overview here.
Standards that describe interactions between relying parties and signers through JSON-RPC messages.
Standard | Status |
---|---|
ICRC-25: Signer Interaction | |
ICRC-27: Accounts | |
ICRC-34: Delegation | |
ICRC-49: Call Canister | |
ICRC-95: Derivation Origin | |
ICRC-#: Batch Call Canister |
Standards that describe how the communication channel between a relying party and signer is established.
Standard | Status |
---|---|
ICRC-29: Browser Post Message Transport | |
ICRC-94: Browser Extension Discovery and Transport | |
ICRC-#: Browser URL Transport | |
ICRC-#: Wallet Connect Transport | |
ICRC-#: Browser Web Signer Discovery |
Standards that describe canister call interfaces used by signers.
Standard | Status |
---|---|
ICRC-21: Canister Call Consent Messages | |
ICRC-28: Trusted Origins | |
ICRC-#: Dapp Metadata Registry |
Standards that are currently not actively being pursued, abandoned or superseded.
Standard | Status | Note |
---|---|---|
ICRC-32: Sign Challenge | De-prioritized to focus on IC use cases first | |
ICRC-#: DID Registry | Feel like picking this up? Contact the working group | |
ICRC-#: CAIP-2 Blockhain ID | Overlaps with work in NFT, Ledger & Tokenization working groups on ICRC-91 and ICRC-22 | |
ICRC-#: CAIP-10 Account Address | Overlaps with work in NFT, Ledger & Tokenization working groups on ICRC-91 and ICRC-22 | |
ICRC-35: Browser-Based Interoperability Framework | Hasn't received updates for a while | |
ICRC-31: Get Principals | See ICRC-27: Accounts | |
ICRC-57: Get Session Delegation | See ICRC-34: Delegation |
Meetings happen every two weeks. All meeting schedule announcements and summaries with links to recordings can be found in this forum thread.
All meeting recordings can be found in this Google Drive folder. See the working group calendar for the next meeting date and the dates of other working groups.
Besides above forum thread, we also have a discord channel for the working group.
Everyone is welcome to join the public meetings of the working group.
Additionally, you can also join the discussion on the forum or Discord.
- If you want to discuss a specific topic for the next meeting, bring up the topic on the forum or Discord. Additionally consider already creating an issue or pull-request.
- If you own a cool project related to Identity and/or Wallets built on the IC you are welcome to do a presentation in one of the meetings, please bring it up on the forum or Discord.
The working group sessions are public and everybody is welcome. If you are interested in discussions about identity and authentication on the IC, please join us.
- DFINITY lead: Thomas Gladdines
- Community Lead: Dan Ostrovsky (Identity Labs)
- Coordinator: Mary Dwyer
The following list of signers have implemented or are implementing the standards in this working group:
Wallets and identity providers not listed here, might still be supported through adapters available in libraries and frameworks that implement the standards.
Have you implemented the standards and your wallet isn't listed here? Contact us on the forum or Discord.
For a library that implements the above signer standards see signer-js.
If you are looking to get started quickly, consider a framework like IdentityKit that already implements the user interface, error handling, sessions and other details around wallets interaction.