{"id":27638074,"url":"https://github.com/seabed-labs/pre-authorized-debit","last_synced_at":"2025-07-25T06:41:32.827Z","repository":{"id":192710637,"uuid":"679911047","full_name":"seabed-labs/pre-authorized-debit","owner":"seabed-labs","description":"A public good pre-authorized debit program on Solana. Enables single and recurring scheduled debits from a token account.","archived":false,"fork":false,"pushed_at":"2023-10-18T03:59:34.000Z","size":2835,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T13:02:28.770Z","etag":null,"topics":["approve","delegate","multi-delegate","permit2","solana","solana-debits","solana-delegate","solana-permit2","solana-program","solana-subscriptions","solana-token","spl-token","spl-token-2022","spl-token2022","token","token-approval"],"latest_commit_sha":null,"homepage":"https://docs.seabed.so/open-source-primitives/pre-authorized-debit-v1","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seabed-labs.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null}},"created_at":"2023-08-17T22:52:12.000Z","updated_at":"2024-03-07T12:48:49.000Z","dependencies_parsed_at":"2023-09-26T08:35:31.928Z","dependency_job_id":null,"html_url":"https://github.com/seabed-labs/pre-authorized-debit","commit_stats":null,"previous_names":["dcaf-labs/pre-authorized-debit","seabed-labs/pre-authorized-debit"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seabed-labs%2Fpre-authorized-debit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seabed-labs%2Fpre-authorized-debit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seabed-labs%2Fpre-authorized-debit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seabed-labs%2Fpre-authorized-debit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seabed-labs","download_url":"https://codeload.github.com/seabed-labs/pre-authorized-debit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250521303,"owners_count":21444480,"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":["approve","delegate","multi-delegate","permit2","solana","solana-debits","solana-delegate","solana-permit2","solana-program","solana-subscriptions","solana-token","spl-token","spl-token-2022","spl-token2022","token","token-approval"],"created_at":"2025-04-23T21:36:30.610Z","updated_at":"2025-04-23T21:36:31.081Z","avatar_url":"https://github.com/seabed-labs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pre Authorized Debit\n\n## CI Status\n\n[![Tests](https://github.com/seabed-labs/pre-authorized-debit/actions/workflows/tests.yml/badge.svg?branch=feat%2Fsdk)](https://github.com/seabed-labs/pre-authorized-debit/actions/workflows/tests.yml)\n\n## SDK Code Coverage\n\n![SDK Coverage - Statements](https://raw.githubusercontent.com/seabed-labs/pre-authorized-debit/sdk/pre-authorized-debit-v1/ci-badges/sdk/pre-authorized-debit-v1/badges/coverage-statements.svg)\n\nThe Pre Authorized Debit (PAD) program is a Solana primitive to extend functionality of a token account\nwith pre-authorized debits (an advanced form of multi delegation or delegate multiplexing which we call smart delegation).\nThe PAD program supports both spl token program and token program 22.\n\nUser funds remain non-custodial in their own token accounts, adding a `smart-delegate` account as their delegate.\n\nUsers and protocols agree on and create a `pre-authorization` account to track the pre-authorized debit state.\nPre-authorized debits can be one-time or recurring.\n\nPre-authorized debt authorities can debit from a users token account using their pre-authorization\nand the smart-delegate. Debt authorities can debit from a token account as long as:\n\n- The pre-authorized debit is ready for debiting\n- The token account has the necessary funds needed for the debit\n- The smart-delegate remains the delegate of the token-account\n\nUsers at any time withdraw from their token-account as the `owner` or pause a pre-authorized debit.\n\n## Planned Future Work\n\nTo prevent accidental removals of the token-account delegate, an ancillary program is\nplanned for future development, mimicking a similar feature set as the associated token program.\n\n## Docs\n\nDeveloper docs and integration guides are viewable at our [gitbook](https://docs.seabed.so/pre-authorized-debit).\n\n## Contributing Guide\n\n🚧🚧🚧 In Progress 🚧🚧🚧\n\n## Developers\n\nAll anchor integration tests live under `program-tests`.\n\nAll anchor programs live under `programs`.\n\nAll SDK's live under `sdk`, and their tests live in their nested sdk folder (`sdk/\u003cname\u003e/tests`).\n\n```bash\n├── program-tests\n│  └── pre-authorized-debit-v1\n├── programs\n│  └── pre-authorized-debit-v1\n├── scripts\n│  ├── package.json\n│  ├── README.md\n│  └── test.js\n├── sdk\n│  └── pre-authorized-debit-v1\n```\n\n### Requirements\n\n- rust 1.72.0\n- node 18.17.1\n- yarn 3.6.0\n- solana 1.16.10\n- anchor 0.28.0\n\n### Getting Started\n\n```bash\nyarn install\nyarn test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseabed-labs%2Fpre-authorized-debit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseabed-labs%2Fpre-authorized-debit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseabed-labs%2Fpre-authorized-debit/lists"}