{"id":14958572,"url":"https://github.com/mybucks-online/app","last_synced_at":"2026-06-03T05:00:44.956Z","repository":{"id":255324070,"uuid":"848380902","full_name":"mybucks-online/app","owner":"mybucks-online","description":"Seedless, Disposable Crypto Wallet with 1-Click Gifting","archived":false,"fork":false,"pushed_at":"2026-05-16T06:17:08.000Z","size":5372,"stargazers_count":18,"open_issues_count":1,"forks_count":10,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-16T08:54:45.795Z","etag":null,"topics":["beginners-friendly","blockchain","cryptowallet","dapp","erc20","ethereum","keccak256","opensource-projects","password-hashing","privatekey-generator","react","scrypt","styled-components","tron","web3","zxcvbn"],"latest_commit_sha":null,"homepage":"https://app.mybucks.online","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mybucks-online.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-27T16:50:43.000Z","updated_at":"2026-05-16T06:16:37.000Z","dependencies_parsed_at":"2026-01-07T13:08:33.619Z","dependency_job_id":null,"html_url":"https://github.com/mybucks-online/app","commit_stats":{"total_commits":92,"total_committers":1,"mean_commits":92.0,"dds":0.0,"last_synced_commit":"894a859f222a1facd153a14739e3e89f2d0acf22"},"previous_names":["mybucks-online/app"],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/mybucks-online/app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybucks-online%2Fapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybucks-online%2Fapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybucks-online%2Fapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybucks-online%2Fapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mybucks-online","download_url":"https://codeload.github.com/mybucks-online/app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybucks-online%2Fapp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33848862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beginners-friendly","blockchain","cryptowallet","dapp","erc20","ethereum","keccak256","opensource-projects","password-hashing","privatekey-generator","react","scrypt","styled-components","tron","web3","zxcvbn"],"created_at":"2024-09-24T13:17:26.005Z","updated_at":"2026-06-03T05:00:44.918Z","avatar_url":"https://github.com/mybucks-online.png","language":"JavaScript","funding_links":[],"categories":["Open Source Project"],"sub_categories":["Risk Management"],"readme":"# mybucks.online\n\nThis is a source repository of [app.mybucks.online](https://app.mybucks.online).\n\n[Mybucks.online](https://mybucks.online) is a **seedless, disposable crypto wallet** designed for **speed and convenience**. It generates a private key from your **passphrase and PIN** 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 instantly.\n\nAs a hash function, the **Scrypt** Key Derivation Function (KDF) increases the computational effort required to crack credentials, effectively delaying **brute-force** attacks and making them impractical.\n\nIt fully runs on your **browser side** without using any storage or invoking any 3rd-party APIs for key management. It instantly generates your private key from your credentials input, and whenever you close or refresh, there is **no footprint**. This absolutely protects your privacy.\n\n### Zero Footprint  \n- No servers, no databases, no storage and no tracking.\n- 100% browser-based.\n- Your credentials never leave your device.\n- Your account is generated whenever you open it. Closing or refreshing your browser erases all traces/history.\n\n### Fast and Easy\n- No app installs, no browser extensions, no registration and no KYC.\n- You can create or open your wallet in seconds - all you need is your browser.\n- Passphrase and PIN are easier to handle and remember than seed phrases.\n\n### 1-Click Gifting\n- Stop asking your friends for their wallet addresses.\n- Send a wallet as a URL rather than just sending coins.\n- The recipient clicks the URL and takes full ownership instantly.\n- This makes **gifting or airdropping perfectly easy** and enables massive micro-gifting in seconds.\n\n## How to Use\n\n1. Visit [app.mybucks.online](https://app.mybucks.online).\n2. Input your credentials.  \n  Test credentials:  \n    passphrase: **DemoAccount5\u0026**  \n    PIN: **112324**\n3. Click `Open`.\n\n(This process is the same for both initial opening and all subsequent uses.)\n\n![Sign-in](/screenshots/1-signin.png)\n![Home](/screenshots/2-home.png)\n![Send Token](/screenshots/3-send.png)\n\n![Mobile Sign-in](/screenshots/4-mobile.png)\n\n## How it works?\nThe **Scrypt** and **Keccak256** hash functions turn your credentials into a private key. The Scrypt KDF(Key Derivation Function) requires significant memory to compute, making brute-force attacks computationally expensive and impractical.\n\n\u003cimg src=\"screenshots/how-it-works.png\" alt=\"How it works?\"\u003e\n\n## Generate the private key\n\nThis demonstrates how to generate a private key from your `passphrase` and `PIN` and helps you understand the process.\n\n```javascript\nimport { Buffer } from \"buffer\";\nimport { ethers } from \"ethers\";\nimport { scrypt } from \"scrypt-js\";\n\nconst HASH_OPTIONS = {\n  N: 131072, // CPU/memory cost parameter, 2^17, OWASP recommendation\n  r: 8, // block size parameter\n  p: 1, // parallelization parameter\n  keyLen: 64,\n};\nconst KDF_DOMAIN_SEPARATOR = \"mybucks.online-core.generateHash.v2\";\n\n// passphrase: at least 12 characters user input, zxcvbn score \u003e= 3\n// PIN: at least 6 characters, zxcvbn score \u003e= 1\nasync function generatePrivateKey(passphrase, pin) {\n  const salt = `${passphrase.slice(-4)}${pin}`\n\n  const passwordBuffer = Buffer.from(passphrase);\n  const encoded = abi.encode(\n    [\"string\", \"string\", \"string\"],\n    [KDF_DOMAIN_SEPARATOR, passphrase, pin],\n  );\n  const saltHash = ethers.keccak256(encoded);\n  const saltBuffer = Buffer.from(saltHash.slice(2), \"hex\");\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) =\u003e 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\n## @mybucks.online/core\n\nThe core components responsible for hash and private key generation, generate \u0026 parse transfer-link token have been extracted into an independent package. You can explore the details of this package [here](https://www.npmjs.com/package/@mybucks.online/core).\n\n```\nnpm install @mybucks.online/core\n```\n\n## Transfer a wallet via URL 🎁🎁🎁\n\nWith mybucks.online, you can send cryptocurrency and even **wallet itself via a URL**. The recipient simply clicks the link to open the wallet and take full ownership.\n\nTry this link:  \nhttps://app.mybucks.online/#wallet=VWnsSGRGVtb0FjY291bnQ1JgIxMTIzMjQCb3B0aW1pc20=_wNovT (legacy)\n\nThis feature allows you to **create a one-time wallet** and put stablecoins or memecoins into it. You can **transfer full ownership as a gift without ever asking for a recipient's address**. These serve as a \"starter\" wallet for the recipients, who can then easily withdraw the funds into their own personal pockets or primary wallets.\n\nThis is a powerful tool for **bulk distribution** and **massive airdrops** to many people simultaneously. You no longer need to ask for a wallet address or force users to connect their wallet to your app for a small $5 referral fee. You simply share the unique links through any messaging platform, social media, or email.\n\n## Major dependencies\n\nThis project uses the following major dependencies:\n\n- **@mybucks.online/core**  \n  Core module of mybucks.online involving hashing, private-key generation, generate and parse transfer-link token.\n- **scrypt-js**  \n  Implements the `scrypt` hash function. Please check the npm registry [here](https://www.npmjs.com/package/scrypt-js).\n- **ethers**  \n  A standard library for manipulating EVM accounts.\n- **moralis**  \n  Provides query functions for massive crypto assets in multiple networks.\n- **@uniswap/default-token-list**  \n  ERC20 tokens are filtered to only display those included in the Uniswap default token list.\n- **tronweb**\n- **styled-components**\n\n## How to Run\n\nPlease sign up for [Infura](https://infura.io), [Moralis](https://moralis.com/) and [Trongrid](https://trongrid.io/), create free API keys, and update the environment variables accordingly.\n\n```bash\nyarn install\ncp .env.example .env\n# Update the .env variables with valid keys\nyarn dev\n```\n\n## Production Environment\n\nThe project is deployed via GitHub Pages and GitHub Actions. You can verify the deployment and DNS configuration:\n\n- [Actions](https://github.com/mybucks-online/app/actions)\n- [Releases](https://github.com/mybucks-online/app/releases)\n- DNS: `app.mybucks.online` → `mybucks-online.github.io`\n\n## Quick Links\n\n- [App](https://app.mybucks.online)\n- [Website](https://mybucks.online)\n- [Whitepaper](https://docs.mybucks.online/more/whitepaper)\n- [Docs](https://docs.mybucks.online)\n- [Github](https://github.com/mybucks-online)\n- [X](https://x.com/mybucks_online)\n- [Telegram](https://t.me/mybucks_online)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmybucks-online%2Fapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmybucks-online%2Fapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmybucks-online%2Fapp/lists"}