GoodDollar-Cubid SDK
{"type": "project", "title": "GoodDollar-Cubid SDK", "logoImg": "bafkreiegyt3vhirpxlukw3jv6s2htumqtbzievhoo7xavj62iudnuxkx2e", "website": "https://www.npmjs.com/package/cubid-sdk", "bannerImg": "bafkreibvngdwogp7rn7hpgl6pm6nw4ek4zbkngjq4mxmrjc6v6jaojb63m", "createdAt": 1743456387455, "userGithub": "KazanderDad", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"type": "EthereumEip712Signature2021", "created": "2025-03-31T21:00:02.943Z", "@context": "https://w3id.org/security/suites/eip712sig-2021/v1", "proofValue": "0x11d6d9b97deb831173b31ad3843aa97ee08198083102c8ab8391c403827daf74738ef1f58abf2902338e24d701c69dc9b3a9bc0c382657cbdcbd223d3380ea6e1b", "eip712Domain": {"types": {"Proof": [{"name": "@context", "type": "string"}, {"name": "created", "type": "string"}, {"name": "proofPurpose", "type": "string"}, {"name": "type", "type": "string"}, {"name": "verificationMethod", "type": "string"}], "@context": [{"name": "nullifiers", "type": "NullifiersContext"}, {"name": "provider", "type": "string"}], "Document": [{"name": "@context", "type": "string[]"}, {"name": "credentialSubject", "type": "CredentialSubject"}, {"name": "expirationDate", "type": "string"}, {"name": "issuanceDate", "type": "string"}, {"name": "issuer", "type": "string"}, {"name": "proof", "type": "Proof"}, {"name": "type", "type": "string[]"}], "EIP712Domain": [{"name": "name", "type": "string"}], "CredentialSubject": [{"name": "@context", "type": "@context"}, {"name": "nullifiers", "type": "string[]"}, {"name": "id", "type": "string"}, {"name": "provider", "type": "string"}], "NullifiersContext": [{"name": "@container", "type": "string"}, {"name": "@type", "type": "string"}]}, "domain": {"name": "VerifiableCredential"}, "primaryType": "Document"}, "proofPurpose": "assertionMethod", "verificationMethod": "did:ethr:0xd6f8d6ca86aa01e551a311d670a0d1bd8577e5fb#controller"}, "issuer": "did:ethr:0xd6f8d6ca86aa01e551a311d670a0d1bd8577e5fb", "@context": ["https://www.w3.org/2018/credentials/v1", "https://w3id.org/vc/status-list/2021/v1"], "issuanceDate": "2025-03-31T21:00:02.943Z", "expirationDate": "2025-06-29T21:00:02.943Z", "credentialSubject": {"id": "did:pkh:eip155:1:0xE757B9475e8BDabfeF5bF6b7850dFd90971bf77F", "@context": {"provider": "https://schema.org/Text", "nullifiers": {"@type": "https://schema.org/Text", "@container": "@list"}}, "provider": "ClearTextGithubOrg#Cubid-Me#98373366", "nullifiers": ["v0.0.0:mpACiXZT3p7mEm88YAhD2fg5/ppfqlgN60K7tiMcYBU="]}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"type": "EthereumEip712Signature2021", "created": "2025-03-31T20:57:36.169Z", "@context": "https://w3id.org/security/suites/eip712sig-2021/v1", "proofValue": "0x1f1e8932cb65690f8ea0027d32743998b41875b1510792fc8a99c69c08c23a1e6ef88206b8b2a461f1d4894e339c46d8b656f23d1ef66c2c28c77642987220741c", "eip712Domain": {"types": {"Proof": [{"name": "@context", "type": "string"}, {"name": "created", "type": "string"}, {"name": "proofPurpose", "type": "string"}, {"name": "type", "type": "string"}, {"name": "verificationMethod", "type": "string"}], "@context": [{"name": "nullifiers", "type": "NullifiersContext"}, {"name": "provider", "type": "string"}], "Document": [{"name": "@context", "type": "string[]"}, {"name": "credentialSubject", "type": "CredentialSubject"}, {"name": "expirationDate", "type": "string"}, {"name": "issuanceDate", "type": "string"}, {"name": "issuer", "type": "string"}, {"name": "proof", "type": "Proof"}, {"name": "type", "type": "string[]"}], "EIP712Domain": [{"name": "name", "type": "string"}], "CredentialSubject": [{"name": "@context", "type": "@context"}, {"name": "nullifiers", "type": "string[]"}, {"name": "id", "type": "string"}, {"name": "provider", "type": "string"}], "NullifiersContext": [{"name": "@container", "type": "string"}, {"name": "@type", "type": "string"}]}, "domain": {"name": "VerifiableCredential"}, "primaryType": "Document"}, "proofPurpose": "assertionMethod", "verificationMethod": "did:ethr:0xd6f8d6ca86aa01e551a311d670a0d1bd8577e5fb#controller"}, "issuer": "did:ethr:0xd6f8d6ca86aa01e551a311d670a0d1bd8577e5fb", "@context": ["https://www.w3.org/2018/credentials/v1", "https://w3id.org/vc/status-list/2021/v1"], "issuanceDate": "2025-03-31T20:57:36.169Z", "expirationDate": "2025-06-29T20:57:36.169Z", "credentialSubject": {"id": "did:pkh:eip155:1:0xE757B9475e8BDabfeF5bF6b7850dFd90971bf77F", "@context": {"provider": "https://schema.org/Text", "nullifiers": {"@type": "https://schema.org/Text", "@container": "@list"}}, "provider": "ClearTextTwitter#CubidProtocol", "nullifiers": ["v0.0.0:U10/hM58NK+yF/bwRmLfWpAPvUgBmW7jtwaCQu9QdqE="]}}}, "description": "# Grant Proposal: GoodDollar-Cubid SDK – Enabling Face Verification and Daily Claims on Any Website\n\n\n# 1\\. Overview\n\nThis proposal outlines the creation of a **GoodDollar-Cubid SDK**, a permissionless, open-source toolkit that enables **any web2 or web3 application to integrate GoodDollar’s daily claim flow** with minimal effort.\n\nBy combining Cubid’s embedded wallet system with GoodDollar’s FaceVerification SDK and Claim Button, this SDK makes it simple for developers to add a full end-to-end claiming experience — including wallet creation, identity verification, and daily UBI access — to their websites or applications with just a few lines of code.\n\nThis project will significantly lower the barrier to entry for users, especially those new to web3 or without existing wallets, and increase the reach of GoodDollar’s mission across both traditional and decentralized platforms.\n\n---\n\n# 2\\. Objective\n\nImagine this:  \n*A user visits a regular website where they log in like normal—maybe it's a news site, a community hub, or a learning platform. A small widget appears, inviting them to claim free digital income. With a single tap, they create a secure wallet, seamlessly protected by their phone’s fingerprint or Face ID—no seed phrases, no confusing backup steps. They verify their identity in under a minute using face verification, and immediately after, they click once more to claim their first GoodDollar. In under two minutes, they’ve joined the web3 economy—without downloads, extensions, or crypto knowledge. Just a browser, a tap, and a human face.*\n\nThe goal of this project is to develop a **modular, embeddable SDK** that offers the following capabilities:\n\n- **Embedded wallet creation and management** via Cubid’s secure wallet SDK  \n- **Face verification** via GoodDollar’s FaceVerification SDK  \n- **Daily UBI claim functionality** via the GoodDollar Claim Button\n\nThis SDK will be:\n\n- **Open-source**  \n- **Permissionless to use**  \n- **Available as both a UI component and API**  \n- **Designed for quick integration with a few lines of code**\n\nDevelopers will be able to:\n\n- Choose between their already connected wallet, or connect an external wallet, or allow users to create a Cubid-powered embedded wallet without leaving their website.  \n- Select between a UI-based experience or integrate the logic programmatically via the API  \n- Embed the daily claim flow anywhere – from DeFi dashboards and DAO portals to news sites, games, or educational apps  \n- Give users the ability to export their private key for use in any other 3rd party wallet\n\n---\n\n# 3\\. Core Use Cases\n\n### For Developers of Web2 Sites\n\nThe SDK is especially valuable for web2 developers who want to introduce users to web3 without requiring the complexity of private key management or wallet onboarding. The Cubid wallet uses **Shamir’s Secret Sharing** to split and securely store wallet keys, eliminating the need for users to save seed phrases.\n\n### For Web3 Apps and DAOs\n\nFor apps that already support wallet connections, the SDK makes it trivial to plug in a daily GoodDollar claim flow, providing an incentive loop and deeper engagement with users.\n\n### For Onboarding the Unbanked\n\nOne of the most important targeted use cases is **using GoodDollar as the first “on-chain” asset** a user receives. The SDK makes it possible for DeFi and learning platforms to let new users claim GoodDollars and use them as an entry point to on-chain education and financial tools — all without requiring upfront capital or knowledge of crypto infrastructure.\n\n---\n\n# 4\\. Technical Approach\n\n### Cubid Embedded Wallet SDK (done\\!)\n\n- Built on **Next.js**  \n- Supports WalletConnect, RainbowKit, and **non-custodial embedded wallet creation**  \n- Wallets use **2-of-3 Shamir Secret Sharing**: one share stored on device, one encrypted and sent to the app, and one stored securely with Cubid's secret manager  \n- App-scoped Cubid identity is created alongside the wallet\n\n### New GoodDollar-Cubid SDK\n\n- Will merge three SDKs and make one new SDK:  \n  - Cubid’s Embedded Wallet SDK  \n  - GoodDollar’s FaceVerification SDK  \n  - GoodDollar’s Claim Button  \n- Can be used as:  \n  - A **UI component** with 3 states:  \n    1. Not connected: connect or click to create a wallet  \n    2. Connected but not verified: click to verify  \n    3. Connected and verified: click to claim  \n  - An **API** for more advanced or custom integrations  \n- Drop-in UI component will ship with fixed styling initially  \n  - developers can fork and customize if needed  \n  - developers can pull-request their open-source contributions\n\n### Handling Sessions and Identity\n\n- Each app/site creates its own scoped Cubid identity and wallet  \n- The SDK does not implement universal login, but developers can manage sessions and identity on their end  \n- Private key recovery is handled by guiding users to retrieve the third secret by logging into Cubid with the same credentials used for the original wallet\n\n### Gas & Claiming\n\n- The claim process does require gas and signing  \n- GoodDollar typically funds accounts with enough gas to claim, which we assume will continue  \n- The SDK will **not implement meta-transactions or gas abstraction** at this stage  \n- Coordination with GoodDollar may be needed to ensure newly created wallets can claim\n\n---\n\n## 5\\. Project Timeline\n\n**Estimated Build Time: 2–3 months**\n\nThe work will be led by the **core Cubid team**, with openness to collaborating with community contributors.\n\n---\n\n# 5\\. Ecosystem Impact\n\nThe GoodDollar-Cubid SDK significantly scales GoodDollar’s mission by:\n\n- Enabling **frictionless access to UBI** from anywhere on the internet  \n- Empowering **developers to add GoodDollar into diverse digital spaces** with minimal effort  \n- Supporting **walletless onboarding** with no seed phrases or crypto experience required  \n- Encouraging 100s of integrations across web2 and web3 platforms  \n- Laying the foundation for scalable identity and inclusion across DeFi, DAOs, and more\n\nCubid will track SDK adoption across sites and developers, but **will not track individual GoodDollar claim events** unless specifically requested. If needed, we can provide GoodDollar with reports on adoption trends and technical feedback.\n\nWe will also publish full documentation and guides on the Cubid site. We are also open to support publishing the same on GoodDollars site, making it easier for developers to discover, integrate, and contribute to the SDK. While Cubid will seed initial promotion, broader marketing efforts such as hackathons or bounty programs are expected to be led by the GoodDollar ecosystem.\n\n---\n\n# 6\\. Funding Request\n\nThis proposal is submitted to the **Gitcoin x GoodDollar Builders Program Quadratic Funding Round**, as part of the kickoff phase to grow the GoodDollar ecosystem through real-world utility, developer tooling, and ecosystem expansion.\n\nThe **GoodDollar-Cubid SDK** directly aligns with the round’s goals by enabling seamless, embeddable access to GoodDollar’s daily claim flow across both **web2 and web3 applications**. By combining wallet creation, face verification, and daily claiming into a single developer-friendly SDK, this project will:\n\n- **Enhance G$ utility** by making it accessible from anywhere online  \n- **Support real-world adoption** by onboarding users who don’t yet have wallets or technical knowledge  \n- **Empower builders** with an open-source integration layer that lowers the barrier to working with G$  \n- **Strengthen the GoodDollar ecosystem** through increased visibility, usage, and composability of the protocol\n\nWe’re seeking support from the community and matching partners to fund approximately **2–3 months of full-time development**, including:\n\n- SDK architecture and buildout  \n- UI component design and implementation  \n- Wallet integration and identity handling  \n- Documentation and developer onboarding  \n- Testing, iteration, and optional early adopter collaborations\n\nThe project will be developed by the **core Cubid team**, with a commitment to open-source licensing, transparency, and community engagement. We are not requesting a fixed amount, but are participating fully in the spirit of **quadratic funding**—leaning on the community’s belief in this tool’s potential to unlock greater impact for the entire G$ ecosystem.\n\nBy funding this SDK, you’re helping make GoodDollar as easy to integrate as Google Maps—and just as ubiquitous.\n\n---\n\n# 7\\. In Closing\n\nOur intention is to transparently document and share the value of this work, and make it available as an **open-sourced public good** for the benefit of the wider ecosystem.\n\nThe GoodDollar-Cubid SDK is a natural evolution of both platforms' missions: **accessible identity, permissionless finance,** and **inclusive tools that lower barriers to entry.** By making it easy to claim GoodDollars from anywhere, we unlock real utility, drive adoption, and bring the next wave of users into web3 — one line of code at a time.\n\nWe’re excited to build this and look forward to collaborating with the GoodDollar team and community.", "logoImgData": {}, "bannerImgData": {}, "projectGithub": "Cubid-Me", "projectTwitter": "CubidProtocol"}