# Technical Working Group: Identity & Wallet Standards

**URL:** <https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902>\
**Category:** internet-identity\
**Created:** [April 4, 2022, 3:25pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902 "2022-04-04T15:25:37Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![senior.joinu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/senior.joinu/32/9240_2.png) [@senior.joinu](https://forum.dfinity.org/u/senior.joinu)\
**Post date:** [December 27, 2023, 7:48pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/62 "2023-12-27T19:48:53Z")

</div>

> [@dostro](#):
>
> II doesn’t have an interoperability mechanism, as far as I’m aware.

I suspected this one would be the most difficult for me to explain. Thank you for communicating this, I now know how to clear all of this from any misunderstanding.

II already integrates with other dapps. But it does this not through canister calls, but through the browser.

When you open NNS dapp, it offers you to log in with Internet Identity. When you click on this button, it opens up another browser window with the Internet Identity dapp. Then, these two dapps talk to each other ( **integrate** ) and to you, by guiding you though screens, and you getting logged in.

ICRC-35 is just a generalization of this flow, which I believe, could be applied to any other web-service.

---

<div class="post-metadata">

**Author:** ![dostro](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/dostro/32/1161_2.png) [@dostro](https://forum.dfinity.org/u/dostro)\
**Post date:** [December 27, 2023, 7:53pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/63 "2023-12-27T19:53:49Z")

</div>

So you propose to make any web service an identity provider?

I wouldn’t explain the “integration” in the way you’re suggesting - I would say wallets provide dapps with an identity, and it just so happens II does it this way.

---

<div class="post-metadata">

**Author:** ![senior.joinu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/senior.joinu/32/9240_2.png) [@senior.joinu](https://forum.dfinity.org/u/senior.joinu)\
**Post date:** [December 27, 2023, 7:59pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/64 "2023-12-27T19:59:30Z")

</div>

> [@dostro](#):
>
> So you propose to make any web service an identity provider?

No! Wallets provide dapps with an identity, everything like you’re saying. But users don’t use wallets to talk to service B, while being at service A. Instead, service A just talks to service B directly, via the browser. The user might have identity X on service A and identity Y on service B - the integration will still work and be trustworthy, because the user (the browser) himself passes the data between dapps, without relying on any other party.

---

<div class="post-metadata">

**Author:** ![senior.joinu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/senior.joinu/32/9240_2.png) [@senior.joinu](https://forum.dfinity.org/u/senior.joinu)\
**Post date:** [December 27, 2023, 8:04pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/65 "2023-12-27T20:04:58Z")

</div>

Moreover, a user might even use different wallets, interacting with services A and B - one wallet for A and another for B. Services A and B may be from completely different universes - A may be an IC-dapp, B may be a traditional centralized app. Everything will still work, because it is just a browser API.

UPD: Wallets are not even required at all, for two apps to talk to each other. A user may be authorized via Google to both of these websites.

---

<div class="post-metadata">

**Author:** ![dostro](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/dostro/32/1161_2.png) [@dostro](https://forum.dfinity.org/u/dostro)\
**Post date:** [December 27, 2023, 8:07pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/66 "2023-12-27T20:07:51Z")

</div>

Ok I understand - user would still be required to authenticate to both service A and B for ICRC-35 to authorize the handshake.

This sounds to me like more of an inter-dapp data sharing standard, no? Auth to A, A wants data from B, auth to B, and approve the sharing.

---

<div class="post-metadata">

**Author:** ![senior.joinu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/senior.joinu/32/9240_2.png) [@senior.joinu](https://forum.dfinity.org/u/senior.joinu)\
**Post date:** [December 27, 2023, 8:08pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/67 "2023-12-27T20:08:49Z")

</div>

> [@dostro](#):
>
> This sounds to me like more of an inter-dapp data sharing standard, no? Auth to A, A wants data from B, auth to B, and approve the sharing.

Yes! Exactly!  
And my point is that this is enough to enable the interoperability.

---

<div class="post-metadata">

**Author:** ![dostro](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/dostro/32/1161_2.png) [@dostro](https://forum.dfinity.org/u/dostro)\
**Post date:** [December 27, 2023, 8:12pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/68 "2023-12-27T20:12:59Z")

</div>

Got it! What confused me most was your relating this to current standards in progress - these are entirely different IMO.

The standards we’re working on are specific to signers, yet what you’re proposing is entirely separate from them.

Are there two existing dapps that currently need this? Would be good to bring them into our next meeting for a discussion.

---

<div class="post-metadata">

**Author:** ![senior.joinu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/senior.joinu/32/9240_2.png) [@senior.joinu](https://forum.dfinity.org/u/senior.joinu)\
**Post date:** [December 27, 2023, 8:19pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/69 "2023-12-27T20:19:21Z")

</div>

> [@dostro](#):
>
> Got it!

That’s fantastic! Thank you a lot for this conversation. Now other people can just read it and get the right idea straight away.

> [@dostro](#):
>
> What confused me most was your relating this to current standards in progress - these are entirely different IMO.

I don’t know. I asked on the call some time ago, if the goal of current standards is to enable interoperability, @frederikrothenberger said “Yes”.

> [@dostro](#):
>
> Are there two existing dapps that currently need this? Would be good to bring them into our next meeting for a discussion.

I assume, you can count the II here, since it needs this protocol in order to provide other dapps with user identities. Yes, they use their own solution currently, but ICRC-35 was basically inspired by their solution, so it is the same thing.

You can also count MSQ. We build our business model around this - we plan to make money from people buying goods and services via MSQ’s payments API.

I bet there are more.

---

<div class="post-metadata">

**Author:** ![dostro](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/dostro/32/1161_2.png) [@dostro](https://forum.dfinity.org/u/dostro)\
**Post date:** [December 27, 2023, 8:26pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/70 "2023-12-27T20:26:13Z")

</div>

I wouldn’t consider II as a dapp that needs this.

> [@dostro](#):
>
> This sounds to me like more of an inter-dapp data sharing standard, no? Auth to A, A wants data from B, auth to B, and approve the sharing.

If this is accurate, I’m suggesting to find dapps A and B that want to share data between each other.

---

<div class="post-metadata">

**Author:** ![senior.joinu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/senior.joinu/32/9240_2.png) [@senior.joinu](https://forum.dfinity.org/u/senior.joinu)\
**Post date:** [December 27, 2023, 8:34pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/71 "2023-12-27T20:34:54Z")

</div>

> [@dostro](#):
>
> I wouldn’t consider II as a dapp that needs this.

Why? They already use the same thing. Wouldn’t it be nice if this thing gets standartized and used more widely, benefiting the community as a whole, instead of only them?

> [@dostro](#):
>
> If this is accurate, I’m suggesting to find dapps A and B that want to share data between each other.

If dapps can share data, they can also react to that data. Read the specification, once you have time, please. This is not just data sharing, this is a complete RPC. You can make other dapps do things you want, by sending them commands.

Now I’m again under the impression we have a misunderstanding.

UPD:  
If you’re a coding kind of guy, there is also a reference implementation with an example project. I suggest you to check it, if you want to understand the ICRC-35 better.

---

<div class="post-metadata">

**Author:** ![frederikrothenberger](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/frederikrothenberger/32/3826_2.png) [@frederikrothenberger](https://forum.dfinity.org/u/frederikrothenberger)\
**Post date:** [January 3, 2024, 12:29pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/72 "2024-01-03T12:29:21Z")

</div>

@senior.joinu

Thanks a lot for the contribution! 😃

I left some feedback here: [add icrc-35 by seniorjoinu · Pull Request #118 · dfinity/wg-identity-authentication · GitHub](https://github.com/dfinity/wg-identity-authentication/pull/118#issuecomment-1875293476)

> I don’t know. I asked on the call some time ago, if the goal of current standards is to enable interoperability, @frederikrothenberger said “Yes”.

It is. However, the focus of ICRC-25 and its extensions is on use-cases that provide / manage identities. I.e. it offers interoperability between relying parties and identity providers / signers.

And in particular, we wanted to focus on enabling interoperability between relying parties and signers, without the signer having _any_ relying party specific code / functionality. This allows the signer to provide identities to all relying parties that implement the standard, regardless of what their business logic is.

---

<div class="post-metadata">

**Author:** ![senior.joinu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/senior.joinu/32/9240_2.png) [@senior.joinu](https://forum.dfinity.org/u/senior.joinu)\
**Post date:** [January 4, 2024, 3:25pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/73 "2024-01-04T15:25:32Z")

</div>

Hey there, @frederikrothenberger  
Thanks a lot for your comments. I’ve posted my answer a couple of minutes ago and made the reference impl repo public (sorry for that).

Hope to hear back from you!

---

<div class="post-metadata">

**Author:** ![luckerninja](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/luckerninja/32/12442_2.png) [@luckerninja](https://forum.dfinity.org/u/luckerninja)\
**Post date:** [May 1, 2024, 10:57am UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/74 "2024-05-01T10:57:30Z")

</div>

Hey everyone. Following up on my vision for a universal standard that transcends fleeting trends, I’ve delved deeper into creating a transferable, platform-independent framework for public achievements.

This idea has captured my attention through my experience in the space, {r}elinkd development, ICP grant work, collaborations with PolygonID, Gitcoin Passport, POAP and more. So I’d like to share a whitepaper that explores a framework of early concept for enhancing user reputation based on Internet Identity entity. Excited to hear your thoughts!

[whitepaper](https://mirror.xyz/luckerninja.eth/GJ0lajWTBXn_Le2MGqN-aX3AHIZwoCXK_eIv-vdba9k)

---

<div class="post-metadata">

**Author:** ![ysyms](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/ysyms/32/5173_2.png) [@ysyms](https://forum.dfinity.org/u/ysyms)\
**Post date:** [October 14, 2024, 2:11pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/75 "2024-10-14T14:11:10Z")

</div>

> [@It's Your Internet Identity, But Not Your Money](https://forum.dfinity.org/t/its-your-internet-identity-but-not-your-money/36069/11):
>
> There is also the ICRC-25 (draft) which will allow (as far as I understand it) the NNS Dapp, Oisy, and alike to work like extension wallets with one account across multiple apps.

I would like to ask DFINTIY or everyone related to ICRC-35, when can we achieve this. All users of the IC ecosystem are suffering from wallet torture, please speed up the implementation of this plan

> <https://x.com/icpevent/status/1844556949792358569?s=46>

I have heard this 100 times in various occasions: “ICP doesn’t even have a good wallet”

---

<div class="post-metadata">

**Author:** ![sea-snake](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/sea-snake/32/7243_2.png) [@sea-snake](https://forum.dfinity.org/u/sea-snake)\
**Post date:** [October 14, 2024, 2:45pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/76 "2024-10-14T14:45:08Z")

</div>

Looking at this thread, I can understand the frustration and confusion, the thread itself hasn’t been updated recently to reflect the ongoing status of the WG.

All meeting recordings can be found here: [2024 - Google Drive](https://drive.google.com/drive/mobile/folders/1JkUkZelJdN0DwNtHfVxl94Ke2lCcMxpe/14unuYLiYtUeOw47eRwYnB4FCa9YPr6zv/1tcAGOM3bzJO33ENhpJ_sS3dEirSjhp3q?sort=13&direction=a)

The ICRC-25 standard and its extensions can be found here [GitHub - dfinity/wg-identity-authentication: Repository of the Identity and Wallet Standards Working Group](https://github.com/dfinity/wg-identity-authentication/tree/main)

So here’s a status update with recent developments:

- ICRC-25 and its extensions have been approved within the WG.
- This means that wallets have started implementation of these standards, including NFID, Plug, Oisy and Stoic.
- In the last WG meeting it was indicated that implementation of support for ICRC-25 wallets in DFINITY dapps is on the roadmap (no exact timeline yet).
- Other existing and upcoming dapps in the ecosystem have already started implemention to support ICRC-25 wallets.
- [IdentityKit](https://www.identitykit.xyz) and the [SignerJS](https://www.npmjs.com/package/@slide-computer/signer) libs are available for dapp developers to add support for ICRC-25 wallets.

---

<div class="post-metadata">

**Author:** ![sea-snake](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/sea-snake/32/7243_2.png) [@sea-snake](https://forum.dfinity.org/u/sea-snake)\
**Post date:** [October 28, 2024, 7:33pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/77 "2024-10-28T19:33:10Z")

</div>

Quick reminder that the Identity & Wallets Standards WG meeting is scheduled 1 hour earlier than normal in the calendar.

Also the [Ledger & Tokenization WG meeting](https://forum.dfinity.org/t/upcoming-topics-for-the-ledger-and-tokenization-working-group/36716/1) 2 hours after that is relevant for wallet devs since one of the topics is regarding the index canister consumed by wallets to show transaction history.

---

<div class="post-metadata">

**Author:** ![sea-snake](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/sea-snake/32/7243_2.png) [@sea-snake](https://forum.dfinity.org/u/sea-snake)\
**Post date:** [November 8, 2024, 9:12am UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/78 "2024-11-08T09:12:12Z")

</div>

The Identity & Wallet Standards meeting was temporarily missing from the event calendar due to a handover, it’s been added back now.

Keep in mind the zoom link has changed in the meeting, the new zoom link:

> **[Join our Cloud HD Video Meeting](https://dfinity.zoom.us/j/98200020329?pwd=14jxEbgQr0VwnbT5phVXmeDaW03U4V.1)**
>
> Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom Rooms is the original software-based conference...

@Fern.N will be presenting in the upcoming meeting, you can read more about their project at: [Request to Present BlockID Project - Decentralized Identity and Reputation for the Internet Computer · Issue #218 · dfinity/wg-identity-authentication · GitHub](https://github.com/dfinity/wg-identity-authentication/issues/218)

---

<div class="post-metadata">

**Author:** ![sea-snake](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/sea-snake/32/7243_2.png) [@sea-snake](https://forum.dfinity.org/u/sea-snake)\
**Post date:** [November 14, 2024, 10:05am UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/79 "2024-11-14T10:05:02Z")

</div>

The recording of the 12 November 2024 WG meeting is [now available](https://drive.google.com/drive/folders/1e8lK2_ZXzfaqAdxhtJX31vUXeEf3AazO).

Summary of the WG meeting:

- @Fern.N Showed a demo of BlockID, read more [here](https://github.com/dfinity/wg-identity-authentication/issues/218)

- [Changes to ICRC-29: Window Post Message transport](https://github.com/dfinity/wg-identity-authentication/pull/216) have been approved and merged.

- The [PR for the ICRC-95 standard](https://github.com/dfinity/wg-identity-authentication/pull/206) has been reviewed by the WG and is ready for final approval and merging in next WG meeting.

- The [draft ICRC-39: Batch Calling standard](https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_39_batch_calling.md) was brought up again with an interesting example use case: approving multiple ICRC-2 allowances in a swap.

---

<div class="post-metadata">

**Author:** ![sea-snake](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/sea-snake/32/7243_2.png) [@sea-snake](https://forum.dfinity.org/u/sea-snake)\
**Post date:** [November 26, 2024, 8:56am UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/80 "2024-11-26T08:56:15Z")

</div>

Agenda for [WG meeting](https://dfinity.zoom.us/j/98200020329?pwd=14jxEbgQr0VwnbT5phVXmeDaW03U4V.1) 2024-11-26T16:00:00Z:

- [ICRC-94](https://github.com/dfinity/wg-identity-authentication/pull/221): Multi Injected Provider Discovery for ICRC-25, introducing PrimeVault as first wallet implementing this standard.
- [ICRC-X](https://github.com/dfinity/wg-identity-authentication/pull/220): Batch canisters call, first draft of a standard to make multiple canister calls in a single JSON-RPC call.
- [ICRC-34](https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_34_delegation.md) & [ICRC-28](https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_28_trusted_origins.md): Open discussion regarding dapp architecture with delegations on the IC ecosystem.

Any topic missing or want to bring up a new topic? Post a message in this thread or send me a DM.

---

<div class="post-metadata">

**Author:** ![dostro](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/dostro/32/1161_2.png) [@dostro](https://forum.dfinity.org/u/dostro)\
**Post date:** [November 26, 2024, 8:53pm UTC](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902/81 "2024-11-26T20:53:23Z")

</div>

I’d like to officially present to the community a new standard for review and invite for critique: [ICRC-95](https://github.com/dfinity/wg-identity-authentication/blob/main/topics/icrc_95_derivationorigin.md), defining a parameter named `icrc95DerivationOrigin`.

We’ve known about and used the `derivationOrigin` parameter in `authClient` for years, and standardizing this now makes the parameter officially reliable for dapps and wallets to build with moving forward.

[Previous page](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902.md?page=3)

[Next page](https://forum.dfinity.org/t/technical-working-group-identity-wallet-standards/11902.md?page=5)
