Skip to content

An open-source, comprehensive Interledger service for wallet providers, enabling them to provide Interledger functionality to their users.

License

Notifications You must be signed in to change notification settings

interledger/rafiki

Folders and files

NameName
Last commit message
Last commit date
Feb 11, 2025
Feb 17, 2025
Jan 23, 2025
Jul 29, 2024
Feb 11, 2025
Feb 19, 2025
Apr 11, 2024
Feb 18, 2025
Feb 29, 2024
Feb 29, 2024
Oct 24, 2023
Jun 24, 2021
Nov 27, 2024
Dec 8, 2024
Aug 18, 2022
Apr 17, 2024
Dec 5, 2024
Jan 23, 2025
Mar 21, 2022
Jan 28, 2025
Jul 4, 2023
Feb 27, 2024
Feb 17, 2025
Feb 17, 2025
Aug 20, 2024
Oct 31, 2024
Jan 24, 2024
Oct 16, 2023

Repository files navigation

Rafiki

Rafiki

What is Rafiki?

Rafiki is open source software that provides an efficient solution for an account servicing entity to enable Interledger functionality on its users' accounts.

This includes

  • sending and receiving payments (via SPSP and Open Payments)
  • allowing third-party access to initiate payments and view transaction data (via Open Payments)

❗ Rafiki is intended to be run by account servicing entities only and should not be used in production by non-regulated entities.

Rafiki is made up of several components, including an Interledger connector, a high-throughput accounting database called TigerBeetle, and several APIs:

Additionally, this package also includes a reference implementation of a GNAP authorization server, which handles the access control for the Open Payment API. For more information on the architecture, check out the Architecture documentation.

New to Interledger?

Never heard of Interledger before? Or would you like to learn more? Here are some excellent places to start:

Contributing

Please read the contribution guidelines before submitting contributions. All contributions must adhere to our code of conduct.

Community Calls

Our Rafiki community calls are open to our community members. We have them every Tuesday at 15:30 GMT, via Google Meet.

Google Meet joining info

Video call link: https://meet.google.com/sms-fwny-ezc

Or dial: ‪(GB) +44 20 3956 0467‬ PIN: ‪140 111 239‬#

More phone numbers: https://tel.meet/sms-fwny-ezc?pin=5321780226087

Add to Google Calendar

Local Development Environment

Prerequisites

Environment Setup

After you have Git, Docker, and NVM installed, run the following commands to continue setting up your local development environment.

Clone the Rafiki repository

git clone https://github.com/interledger/rafiki.git
cd rafiki

Install Node.js

nvm install
nvm use

Install pnpm -- a quick and efficient Node.js package manager

corepack enable

If you were previously using Yarn as a package manager, run this:

pnpm clean

Install dependencies

pnpm i

Local Development

The Rafiki local environment is the best way to explore Rafiki locally. The localenv directory contains instructions for setting up a local playground. Please refer to the README for each individual package for more details.

Useful commands

Description Command
Build all of the packages in the repo pnpm -r build
Build a specific package (e.g. backend, frontend, etc.) pnpm --filter backend build
Generate types from specific package GraphQL schema pnpm --filter backend generate
Run individual tests (e.g. backend) pnpm --filter backend test
Run all tests pnpm -r --workspace-concurrency=1 test
Format and lint code pnpm format
Check lint and formatting pnpm checks
Verify code formatting pnpm check:prettier
Verify lint pnpm check:lint