{"id":13408620,"url":"https://github.com/Bonfida/token-vesting","last_synced_at":"2025-03-14T13:31:49.152Z","repository":{"id":41392808,"uuid":"324749161","full_name":"Bonfida/token-vesting","owner":"Bonfida","description":"A Vesting Contract for the Solana Blockchain","archived":false,"fork":false,"pushed_at":"2024-06-25T12:44:40.000Z","size":9247,"stargazers_count":257,"open_issues_count":8,"forks_count":171,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-10-29T17:12:57.401Z","etag":null,"topics":["react","rust","solana","solana-program","solana-token","typescript"],"latest_commit_sha":null,"homepage":"https://vesting.bonfida.org/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bonfida.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit/Bonfida_SecurityAssessment_Vesting_Final050521.pdf","citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-27T11:42:42.000Z","updated_at":"2024-10-13T04:31:43.000Z","dependencies_parsed_at":"2024-01-12T19:47:36.708Z","dependency_job_id":"e8a41b77-3fbc-448a-ba79-9b858111eae8","html_url":"https://github.com/Bonfida/token-vesting","commit_stats":{"total_commits":143,"total_committers":8,"mean_commits":17.875,"dds":0.6573426573426573,"last_synced_commit":"6234f98229196d1c785dfd2198bb58afc60bca10"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonfida%2Ftoken-vesting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonfida%2Ftoken-vesting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonfida%2Ftoken-vesting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonfida%2Ftoken-vesting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bonfida","download_url":"https://codeload.github.com/Bonfida/token-vesting/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243584371,"owners_count":20314747,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["react","rust","solana","solana-program","solana-token","typescript"],"created_at":"2024-07-30T20:00:54.113Z","updated_at":"2025-03-14T13:31:46.819Z","avatar_url":"https://github.com/Bonfida.png","language":"Rust","readme":"\u003ch1 align=\"center\"\u003eToken vesting\u003c/h1\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"250\" src=\"https://i.imgur.com/nn7LMNV.png\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://twitter.com/bonfida\"\u003e\n\u003cimg src=\"https://img.shields.io/twitter/url?label=Bonfida\u0026style=social\u0026url=https%3A%2F%2Ftwitter.com%2Fbonfida\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/Rust-000000?style=for-the-badge\u0026logo=rust\u0026logoColor=white\" /\u003e\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003ch2 align=\"center\"\u003eTable of contents\u003c/h2\u003e\n\u003cbr /\u003e\n\n1. [Program ID](#program-id)\n2. [Audit](#audit)\n3. [UI](#ui)\n4. [Overview](#overview)\n5. [Structure](#structure)\n\n\u003cbr /\u003e\n\u003ca name=\"program-id\"\u003e\u003c/a\u003e\n\u003ch2 align=\"center\"\u003eProgram ID\u003c/h2\u003e\n\u003cbr /\u003e\n\n- mainnet: `CChTq6PthWU82YZkbveA3WDf7s97BWhBK4Vx9bmsT743`\n- devnet: `DLxB9dSQtA4WJ49hWFhxqiQkD9v6m67Yfk9voxpxrBs4`\n\n\u003cbr /\u003e\n\u003ca name=\"audit\"\u003e\u003c/a\u003e\n\u003ch2 align=\"center\"\u003eAudit\u003c/h2\u003e\n\u003cbr /\u003e\n\nThis code has been audited by Kudelski ✅\n\n- Audit report: [Bonfida Token Vesting Report](/audit/Bonfida_SecurityAssessment_Vesting_Final050521.pdf)\n\n\u003cbr /\u003e\n\u003ca name=\"ui\"\u003e\u003c/a\u003e\n\u003ch2 align=\"center\"\u003eUI\u003c/h2\u003e\n\u003cbr /\u003e\n\nThe [Bonfida Token Vesting UI](https://vesting.bonfida.org) can be used to unlock tokens. The UI **only** works for vesting accounts using the mainnet deployment `CChTq6PthWU82YZkbveA3WDf7s97BWhBK4Vx9bmsT743`\n\n\u003cbr /\u003e\n\u003ca name=\"overview\"\u003e\u003c/a\u003e\n\u003ch2 align=\"center\"\u003eOverview\u003c/h2\u003e\n\u003cbr /\u003e\n\n- Simple vesting contract (SVC) that allows you to deposit X SPL tokens that are unlocked to a specified public key at a certain block height/ slot.\n- Unlocking works by pushing a permissionless crank on the contract that moves the tokens to the pre-specified address\n- Token Address should be derived from https://spl.solana.com/associated-token-account\n- 'Vesting Schedule contract' - A contract containing an array of the SVC's that can be used to develop arbitrary- vesting schedules.\n- Tooling to easily setup vesting schedule contracts\n- Recipient address should be modifiable by the owner of the current recipient key\n- Implementation should be a rust spl compatible program, plus client side javascript bindings that include a CLI- interface. Rust program should be unit tested and fuzzed.\n\n\u003cbr /\u003e\n\u003ca name=\"structure\"\u003e\u003c/a\u003e\n\u003ch2 align=\"center\"\u003eStructure\u003c/h2\u003e\n\u003cbr /\u003e\n\n- `cli` : CLI tool to interact with on-chain token vesting contract\n- `js` : JavaScript binding to interact with on-chain token vesting contract\n- `program` : The BPF compatible token vesting on-chain program/smart contract\n\n![diagram](assets/structure.png)\n","funding_links":[],"categories":["🧑🏻‍💻 Developer","🛠️ NFT Utility","Code"],"sub_categories":["Advanced examples","Defi"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBonfida%2Ftoken-vesting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBonfida%2Ftoken-vesting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBonfida%2Ftoken-vesting/lists"}