This is the official discussion thread for xGov-119: Zorkin - Social Login for Self-Custodial Account Authentication with ZK-SNARKs
Title: Zorkin - Social Login for Self-Custodial Account Authentication with ZK-SNARKs
Author: Winton Nathan-Roberts (@mangoplane)
Company Name: Helium Labs
Focus Area: User Onboarding
Open Source: Yes
Amount Requested: 100000
Zorkin aims to implement a ZK-SNARK based OpenIDConnect authentication solution that runs natively on Algorand, allowing Social Login like Facebook to authenticate access to an application specific self-custodial Algorand Account.
A fiat on-ramp will be integrated into the solution to enable regulatory-compliant blockchain asset purchases using major payment methods such as credit card.
Winton Nathan-Roberts as Research, Design & Software Engineering lead
Skilled independent contractors for auxiliary tasks spanning software engineering, legal consultation, and financial services
Contractor involvement in core system design and implementation will be minimal and subject to rigorous validation checks.
Winton Nathan-Roberts is a Machine Learning PhD dropout with over 4 years of industry experience in Software Engineering working for various Startups & Blue Chip companies like Wargaming.
Over the last two years, he has been working largely in silence on an Algorand-based Web3 gaming venture. His current focus is on enhancing user onboarding for Web3 dApps and games, with a specific emphasis on regulatory-compliant authentication and fiat on-ramping. Helium Labs on GitHub represents some of this work, with many of its repositories private.
Zorkin aims to implement a ZK-SNARK based OpenIDConnect (OIDC) authentication solution, allowing Social Login like Facebook to authenticate access to an application specific self-custodial Algorand Account. A variant has been implemented by Mysten Labs for their Sui blockchain called ZK-Login, which is only usable with Sui. Zorkin will attempt to improve upon ZK-Login, if possible. Some of Algorand’s user experience (UX) challenges, like the need for explicit consent for asset Opt-In, will be mitigated by possibly leveraging ARC-56 whose development is proposed by XGov-117.
Multiple system designs are being explored, with one variant and its MVP implementation detailed at this Github repository. However, the final deliverables will differ, as development is expected to lead to an enhanced design and implementation.
Zorkin will be integrated with a 3rd Party Fiat On-Ramp to allow users to buy approved crypto assets using major payment methods like credit card, taking care of relevant compliance. A Fiat On-Ramp such as MoonPay will be considered for integration.
The deliverables of this proposal are the success criteria, against which the proposal can be considered delivered on should they be met, and are enumerated below.
ZorkinInfra is defined as a ZK-SNARK based OpenIDConnect authentication solution that authenticates access to a Self-Custodial Algorand Account, that’s local to a specific tenant. A tenant is an application interface to
ZorkinInfra, through which users can authenticate access with
ZorkinInfra to self-custodial Algorand accounts that are local to the tenant.
PaymentInfra is defined as payment infrastructure that allows billing of tenants for their usage of
ZorkinInfra to cover related operating expenses (e.g. cloud hosting costs) and a pre-determined profit margin. The
Dashboard is an area where customers can configure their tenants, and manage their billing via
LegalConsult refers to consulting with a relevant legal professional to ensure the deliverables comply with relevant laws, and to assist in drafting necessary legal documents such as terms of service.
In chronological order, the deliverables are:
Testnet Deployment of
ZorkinInfra, with a tenant configurable via
Dashboardand billed via
Integration of at least one 3rd Party Fiat On-Ramp
Initiation and completion of
PaymentInfraagainst feedback on their testnet deployments & legal consultation (
Mainnet Deployment of
ZorkinInfra, with a tenant configurable via
Dashboardand billed via
The delivery timeline is deliberately open-ended to prioritize legal compliance and consumer safety. The deliverables will be available for public access only in jurisdictions where they fully adhere to local laws. The deliverables will be adjusted against feedback from legal consultation to ensure legal feasibility. These services will be offered as long as they are financially viable and legally permissible, with a planned legal sunsetting and exit strategy to be devised and communicated to consumers through the terms of service.
The following video showcases an early-stage design of Zorkin, featuring a demo of the Minimum Viable Product for this variant. Please be aware that the described variant is in its early stages; the final deliverables may differ significantly as the design will be refined throughout development.
If implemented, developers in supported countries can provide users with a ZK-SNARK based OpenIdConnect authentication solution to access an application-specific self-custodial Algorand account linked to their OAuth credentials. The integrated 3rd party Fiat On-Ramp will enable users to buy approved crypto assets using major payment methods, including credit cards. Some of Algorand’s UX challenges, like the need for explicit consent for asset Opt-In, will be mitigated by possibly leveraging ARC-56. Estimates of operating expenses like cloud hosting suggest it may have competitive pricing to competitors in the space.
The proposal’s metadata suggests it will be Open Source, but this applies only to solution components chosen at our discretion such as certain frontend application clients. Each open-source component will be subject to a separate license with respective terms and conditions that must be adhered to.
The deliverables and related intellectual property (IP) will be fully owned by Winton Nathan-Roberts, who reserves the right to do anything with the property as permitted by law. To the best of our knowledge, the current IP isn’t conflicting with any patents. The intellectual property and deliverables might undergo ownership transfers, leading to possible rebranding or integration with other companies or products. For instance, Zorkin could be renamed and associated with a different product the author is affiliated with under similar ownership changes. Zorkin, described by the proposal, is a commercial endeavour with the aim to profit.
The proposal’s Self-Custody aspect means that Zorkin or its affiliates do not hold users’ sensitive account access keys, such as private keys, whose possession would allow the holder access to the users’ account. Account access is restricted to the user, their OAuth account provider, and potentially frontend application clients.
To the fullest extent permitted by law, this proposal and Zorkin are subject to the following legal disclaimers:
NO WARRANTIES: We offer no warranties or guarantees, explicit or implied.
NO LIABILITY: We are not liable for any damages from using or inability to use this content.
INDEPENDENCE: We do not necessarily have a direct affiliation with any party mentioned or implied besides Zorkin.
INDEMNIFICATION: You must defend and indemnify us against all claims and damages from your use of the content.
NOT PRODUCTION READY: The content may have vulnerabilities and is not for production use.
USE AT YOUR OWN RISK: You are solely responsible for using the content and ensuring its legal compliance.
UNVERIFIED CLAIMS: Claims in the content are not independently verified; do your own research before relying on them.
IMPORTANT NOTICE: This document, including all disclaimers, should not be considered as legal or investment advice. The information provided is for general informational purposes only.
Due to the research heavy nature of the proposal, all claims are subject to change.
Link to the full proposal on GitHub:
Please see the disclaimers and additional information in the proposal for context and clarification around the terms such as “Open Source” (which applies only to components chosen at our discretion).