metadata: {"signature": "0x2b924a747dc57b2cb82bc32acc6d3cd654729d98fe3c142c560f96c906fb9107602b2304ab089fe0b3edc3562d1a09cf5a2eee1169599ab48de1c47c5c8fb02e1b", "application": {"round": "0xb91b59c91b09d127d269e53019f2420e8c2c7ce7", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "pJXGHWeEF9UHlNSyCeBhBQp2Kel8A496QbpLWxeLcZDkSz9a1/BL8CJuu9TgmgHI", "encryptedSymmetricKey": "910b58be8ce4efd923de34c2a31084818fdb2601e9f968cfd6db5f0f1847a17d7997e0f27f03594075db716eb31b15049fb0000d6b82c3f8bd3e42e108441dea34bcd6a25e9c9628a176b81a4309dc2c382da03aafa7fabddaacca3bb2d06a85d6850e727c51da842edf0923f85913a18d74f848de3fa2096615f477dc7c1c3b00000000000000203062c0efbf923aab310ec4f6acd272ba6e0ddec326dc68c7ad0c5354f4bf7f72fb1c03ace6539026aa05c3111c6847ac"}}, {"type": "short-answer", "hidden": true, "question": "Telegram Handle", "questionId": 1}, {"type": "short-answer", "answer": "https://github.com/mybucks-online/app", "hidden": true, "question": "Project GitHub Repo", "questionId": 2}, {"type": "short-answer", "answer": "https://discord.gg/RTHgTePKgP", "hidden": true, "question": "Link to your Public Group Chat", "questionId": 3}, {"type": "short-answer", "answer": "No", "hidden": true, "question": "Have you participated in a previous Gitcoin Grants Round? If so, please name the rounds or link the builder profile associated with previous rounds.", "questionId": 4}, {"type": "paragraph", "answer": "- Mybucks.online is an innovative crypto wallet that creates accounts using only a password, without the need for seed phrases or registration. This self-custodial wallet allows you to store, receive, and transfer crypto assets using just a password. You can try the wallet product here: app.mybucks.online. \n\n- Passwords are a familiar, conventional, and convenient method. By using passwords, users can keep their valuable assets in mind without leaving any digital traces.\n\n- Users can easily create a wallet account for temporary or permanent crypto holdings and even transfer the wallet itself by simply sending the password. This facilitates a one-way transfer of crypto assets without requiring the recipient's wallet address.\n\nThis is open-source project, available under the MIT License.", "hidden": true, "question": "How does your project contribute to the growth of the OSS ecosystem? Please provide specific examples of how your application enhances or expands the current ecosystem.", "questionId": 5}, {"type": "paragraph", "answer": "Please refer to the detailed documentation here:\nhttps://docs.mybucks.online/\n\n- Mybucks.online is a password-only, self-custodial cryptocurrency wallet. It generates a private key from your password using an industry-standard, verified one-way hash function. Your private key forms your account, allowing you to transfer, receive, and hold your crypto assets permanently.\n\n- To further enhance security, it utilizes the scrypt Key Derivation Function (KDF). This mechanism increases the computational effort required to crack passwords, effectively delaying brute-force attacks and making them impractical.\n\n- It fully runs on your browser side without using any storage or invoking any third-party APIs for key management. It instantly generates your private key from your password input, and whenever you close or refresh, there is no footprint. This absolutely protects your privacy.", "hidden": true, "question": "What features or use cases does your dApp/App present? How is it differentiated?", "questionId": 6}, {"type": "paragraph", "answer": "- Currently, our wallet supports 8 EVM chains such as Ethereum Mainnet, Polygon, and BNB Chain. We plan to add more networks like Tron, Solana, and TON to improve user convenience. \n\n- Our most recent security audit was performed by Secure3, and we plan to pursue further audits with leading firms like Certik, Halborn, and OpenZeppelin to enhance security. \n\nTo build trust with our users and ensure they can use our platform confidently, we plan to undergo regular security audits and attain certifications from reputable third-party auditors. This will provide assurance and peace of mind while using our wallet.\n\n- Additionally, we aim to launch marketing efforts to attract a larger user base.", "hidden": true, "question": "What are your plans for further development, and how will the grant funds be used to achieve these goals?", "questionId": 7}, {"type": "paragraph", "hidden": true, "question": "For any project deploying smart contracts on blockchain networks, please list all your deployer addresses and their corresponding blockchain networks. Use this format for each entry: [deployer_address], [chain_id]\u2014for example, 0x123abc..., 42161 (This represents a deployer address on the Arbitrum network). Please include a separate line for each unique deployer address and blockchain combination.", "questionId": 8}], "project": {"id": "0x000779a11c8a870f9f58fa7b2cb9db56c80b56455e3e7d5ff38dfca8ff0bc350", "title": "Mybucks.online", "logoImg": "bafkreidtoztmzaezxure5jqshgbpiftux4oyibrof6pmx5a3xeoxi7qoku", "metaPtr": {"pointer": "bafkreiaf2zqo5rgextmc7nrceod5n5vpzlscvkunywdcuw3fubwsovuusi", "protocol": "undefined"}, "website": "https://mybucks.online", "bannerImg": "bafkreigkwn5d2azie6gmalzqmnmfc7wqie5si777dtudqsc7t2zpzp76ce", "createdAt": 1726811740419, "userGithub": "koko37", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..6G5jbai2CRl9_CbYL72DEpSMuGRkZD5d8DZrxdegxnfOYzExAVVY5C4nYK0xVgeuGz5Fvlw3GR7Rx2js4Ig5Cg", "type": "Ed25519Signature2018", "created": "2024-09-20T05:54:56.524Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-09-20T05:54:56.524Z", "expirationDate": "2024-12-19T05:54:56.524Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x620dc94C842817d5d8b8207aa2DdE4f8C8b73415", "hash": "v0.0.0:e8QilkUyAr+Ofxk2W24h1u5Ubr6CPqGnoKmV9EynSJQ=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#mybucks-online#3715794"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..EPxqr8yNI5gsqouegvuL5vhEnCCkpbmoQCqZsSyHqXh5m4bV7wtNF85eK5vr0gAVt5dxOQXEDdqCY5You5qVDQ", "type": "Ed25519Signature2018", "created": "2024-10-07T07:05:43.299Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-10-07T07:05:43.299Z", "expirationDate": "2025-01-05T07:05:43.299Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x620dc94C842817d5d8b8207aa2DdE4f8C8b73415", "hash": "v0.0.0:cSgNvxDAwewtTPkSHEhm74lJBA2MSjaz1sHcPY7ltOA=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#mybucks_online"}}}, "description": "# Introduction\n\n[Mybucks.online](https://mybucks.online) is a **password-only, self-custodial cryptocurrency wallet**. It **generates a private key from your password** using an industry-standard, verified one-way hash function. **Your private key forms your account**, allowing you to transfer, receive, and hold your crypto assets permanently.\n\nTo further enhance security, it utilizes the **scrypt** Key Derivation Function (KDF). This mechanism increases the computational effort required to crack passwords, effectively delaying brute-force attacks and making them impractical.\n\nIt **fully runs on your browser side without** using any storage or invoking any third-party APIs for key management. It instantly generates your private key from your password input, and whenever you close or refresh, **there is no footprint**. This absolutely protects your privacy.\n\n# How it works\n\nThe **password** is the primary field used to generate a private key and create your account. To **avoid password duplication** among users, we have also introduced a shorter secondary field called the **passcode**, which is about 6 characters long.\n\nBy **combining the password and passcode**, we can achieve strong randomness, ensuring the safety of your account. Additionally, the passcode serves as a confirmation step when backing up your credentials or transferring assets.\n\n![How it works](https://mybucks.online/assets/images/encrypt.png)\n\n# Key generation\n\nThe minimal JavaScript code used to **generate a private key from password and passcode inputs** is shown below. You can generate your private key directly without using mybucks.online.\n\nHere, the **password** is a traditional input that must be at least 12 characters long and include a combination of lowercase letters, uppercase letters, numbers, and special characters. The **passcode** is a shorter input, at least 6 characters long, used to **prevent account duplication** due to **password reuse** and also as a confirmation for secure areas.\n\n```javascript\nimport { Buffer } from \"buffer\";\nimport { ethers } from \"ethers\";\nimport { scrypt } from \"scrypt-js\";\n\nconst HASH_OPTIONS = {\n  N: 32768, // CPU/memory cost parameter, 2^15\n  r: 8, // block size parameter\n  p: 5, // parallelization parameter\n  keyLen: 64,\n};\n\nasync function generatePrivateKey(password, passcode) {\n  const salt = password.slice(-4) + passcode\n\n  const passwordBuffer = Buffer.from(password);\n  const saltBuffer = Buffer.from(salt);\n\n  const hashBuffer = await scrypt(\n    passwordBuffer,\n    saltBuffer,\n    HASH_OPTIONS.N,\n    HASH_OPTIONS.r,\n    HASH_OPTIONS.p,\n    HASH_OPTIONS.keyLen,\n    (p) => console.log(Math.floor(p * 100))\n  );\n  const hashHex = Buffer.from(hashBuffer).toString(\"hex\");\n  const privateKey = ethers.keccak256(abi.encode([\"string\"], [hashHex]));\n\n  return privateKey;\n}\n```\n\nYou can find the code [here](https://github.com/mybucks-online/key-generation/blob/master/index.js). You can download the repository and execute it on your local machine as a backup for account generation.\n\n# Security Audit\n\nSecure3 is a battlefield where elite auditors compete to safeguard Web3 innovations against security threats. They have provided security audits for over 140 projects, including zkSync, Polkadot, and more!\n\nAll findings have been successfully resolved and published on their site. The audit report can be found here:  https://app.secure3.io/5c92d55acd\n\n# Links\n\nWebsite: https://mybucks.online\n\nWallet: https://app.mybucks.online\n\nGithub: https://github.com/mybucks-online\n\nDocs: https://docs.mybucks.online", "lastUpdated": 0, "projectGithub": "mybucks-online", "projectTwitter": "mybucks_online"}, "recipient": "0x620dc94C842817d5d8b8207aa2DdE4f8C8b73415"}}