{"id":16744924,"url":"https://github.com/interledger/rafiki","last_synced_at":"2025-10-03T21:25:23.902Z","repository":{"id":36958906,"uuid":"357309038","full_name":"interledger/rafiki","owner":"interledger","description":"An open-source, comprehensive Interledger service for wallet providers, enabling them to provide Interledger functionality to their users.","archived":false,"fork":false,"pushed_at":"2025-05-13T11:21:29.000Z","size":214089,"stargazers_count":314,"open_issues_count":95,"forks_count":89,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-05-13T12:26:34.135Z","etag":null,"topics":["hacktoberfest","hacktoberfest-accepted","hacktoberfest2022","ilp","interledger","rafiki","webmonetization"],"latest_commit_sha":null,"homepage":"https://rafiki.dev/","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/interledger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":".github/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}},"created_at":"2021-04-12T19:05:57.000Z","updated_at":"2025-05-12T11:08:25.000Z","dependencies_parsed_at":"2023-10-12T17:17:51.623Z","dependency_job_id":"40b39682-d242-4f35-a8f5-9286f5e60a68","html_url":"https://github.com/interledger/rafiki","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledger%2Frafiki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledger%2Frafiki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledger%2Frafiki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledger%2Frafiki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interledger","download_url":"https://codeload.github.com/interledger/rafiki/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254422754,"owners_count":22068678,"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":["hacktoberfest","hacktoberfest-accepted","hacktoberfest2022","ilp","interledger","rafiki","webmonetization"],"created_at":"2024-10-13T01:44:19.584Z","updated_at":"2025-10-03T21:25:23.894Z","avatar_url":"https://github.com/interledger.png","language":"TypeScript","funding_links":[],"categories":["Social Finance","TypeScript"],"sub_categories":["Financial Inclusion"],"readme":"# Rafiki\n\n![Rafiki](https://github.com/interledger/rafiki/assets/20246798/528b1978-0e02-4bc4-a6b4-e8e81d2f3c3a)\n\n## What is Rafiki?\n\nRafiki is open source software that provides an efficient solution for an [account servicing entity](https://rafiki.dev/resources/glossary#account-servicing-entity-ase) to enable Interledger functionality on its users' accounts.\n\nThis includes\n\n- sending and receiving payments (via [SPSP](https://rafiki.dev/resources/glossary#simple-payment-setup-protocol-spsp) and [Open Payments](https://rafiki.dev/overview/concepts/open-payments))\n- allowing third-party access to initiate payments and view transaction data (via [Open Payments](https://rafiki.dev/overview/concepts/open-payments))\n\n**❗ Rafiki is intended to be run by account servicing entities only and should not be used in production by non-regulated entities.**\n\nRafiki is made up of several components, including an Interledger connector, a high-throughput accounting database called [TigerBeetle](https://rafiki.dev/overview/concepts/accounting#tigerbeetle), and several APIs:\n\n- the [Admin APIs](https://rafiki.dev/apis/graphql/admin-api-overview) to create [peering relationships](https://rafiki.dev/overview/concepts/interledger#peers),\n  add supported [assets](https://rafiki.dev/overview/concepts/accounting#assets), and issue [wallet addresses](https://rafiki.dev/resources/glossary#wallet-address)\n- the [Open Payments](https://rafiki.dev/overview/concepts/open-payments) API to allow third parties (with the account holder's consent) to initiate payments and to view the transaction history\n- the [SPSP](https://rafiki.dev/resources/glossary#simple-payment-setup-protocol-spsp) API for simple Interledger Payments\n\nAdditionally, this package also includes a reference implementation of a [GNAP](https://rafiki.dev/resources/glossary#grant-negotiation-and-authorization-protocol-gnap) authorization server, which handles the access control for the Open Payment API. For more information on the architecture, check out the [Architecture documentation](https://rafiki.dev/resources/architecture).\n\n### New to Interledger?\n\nNever heard of Interledger before? Or would you like to learn more? Here are some excellent places to start:\n\n- [Interledger Website](https://interledger.org/)\n- [Interledger Specs](https://interledger.org/developers/get-started/)\n- [Interledger Explainer Video](https://twitter.com/Interledger/status/1567916000074678272)\n- [Open Payments](https://openpayments.dev/)\n- [Web Monetization](https://webmonetization.org/)\n\n## Contributing\n\nPlease read the [contribution guidelines](.github/contributing.md) before submitting contributions. All contributions must adhere to our [code of conduct](.github/code_of_conduct.md).\n\n## Community Calls\n\nOur Rafiki community calls are open to our community members. We have them every Tuesday at 15:30 GMT, via Google Meet.\n\n**Google Meet joining info**\n\nVideo call link: https://meet.google.com/sms-fwny-ezc\n\nOr dial: ‪(GB) +44 20 3956 0467‬ PIN: ‪140 111 239‬#\n\nMore phone numbers: https://tel.meet/sms-fwny-ezc?pin=5321780226087\n\n[Add to Google Calendar](https://calendar.google.com/calendar/event?action=TEMPLATE\u0026tmeid=YjN1NW5ibDloN2dua2IwM2thOWlrZXRvMTVfMjAyMzA0MTdUMTUwMDAwWiBjX2NqMDI3Z21oc3VqazkxZXZpMjRkOXB2bXQ0QGc\u0026tmsrc=c_cj027gmhsujk91evi24d9pvmt4%40group.calendar.google.com\u0026scp=ALL)\n\n## Local Development Environment\n\n### Prerequisites\n\n- [Git](https://git-scm.com/downloads) for version control\n- [Docker](https://docs.docker.com/get-docker/) to run containerized services\n- [Node Version Manager (NVM)](https://github.com/nvm-sh/nvm) to manage Node.js versions\n\n### Environment Setup\n\nAfter you have Git, Docker, and NVM installed, run the following commands to continue setting up your local development environment.\n\nClone the Rafiki repository\n\n```sh\ngit clone https://github.com/interledger/rafiki.git\ncd rafiki\ngit submodule update --init --recursive\n```\n\nInstall Node.js\n\n```sh\nnvm install\nnvm use\n```\n\nInstall [pnpm](https://pnpm.io/installation) -- a quick and efficient Node.js package manager\n\n```sh\ncorepack enable\n```\n\nIf you were previously using Yarn as a package manager, run this:\n\n```sh\npnpm clean\n```\n\nInstall dependencies\n\n```sh\npnpm i\n```\n\n### Git submodules\n\nThis repository uses a git submodule for Open Payments specifications located at `open-payments-specifications/`.\n\n- Initialize submodules after cloning:\n\n```sh\ngit submodule update --init --recursive\n```\n\n- Alternatively, clone the repository with submodules in one step:\n\n```sh\ngit clone --recurse-submodules https://github.com/interledger/rafiki.git\n```\n\n### Local Development\n\nThe Rafiki local environment is the best way to explore Rafiki locally. The [localenv](localenv) directory contains instructions for setting up a local playground. Please refer to the README for each individual package for more details.\n\n### Useful commands\n\n| Description                                             | Command                                  |\n| ------------------------------------------------------- | ---------------------------------------- |\n| Build all of the packages in the repo                   | `pnpm -r build`                          |\n| Build a specific package (e.g. backend, frontend, etc.) | `pnpm --filter backend build`            |\n| Generate types from specific package GraphQL schema     | `pnpm --filter backend generate`         |\n| Run individual tests (e.g. backend)                     | `pnpm --filter backend test`             |\n| Run all tests                                           | `pnpm -r --workspace-concurrency=1 test` |\n| Format and lint code                                    | `pnpm format`                            |\n| Check lint and formatting                               | `pnpm checks`                            |\n| Verify code formatting                                  | `pnpm check:prettier`                    |\n| Verify lint                                             | `pnpm check:lint`                        |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterledger%2Frafiki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterledger%2Frafiki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterledger%2Frafiki/lists"}