Skip to main content
This starter kit gives teams a fast, full-stack head start for building applications with Open Finance APIs. The repository provides a Node.js backend with Express.js for API routing, secure handling of sensitive data with crypto-js and jose (for JWTs and encryption), and utilities like axios for making HTTP requests. It also includes a modern front-end setup using Vite, walking you through key Open Finance journeys. The kit is designed to run locally for development or deploy easily to a cloud environment, with basic Swagger documentation for the API available at /api-docs and the front-end interface accessible at /client. With this setup, teams can quickly register users, handle OAuth consent, manage tokens, access banking and payment data, initiate payments, confirm payees, and explore products and leads — all from a unified backend and front-end environment.

Setting up the Starter Kit

Clone the Repository

Follow these steps to clone, customize with your certificates (e.g., API keys, client certs for secure Open Finance endpoints), and extend for your hackathon project:
git clone https://github.com/open-finance-os/hackathon-starter-kit
cd hackathon-starter-kit

Install the Dependencies

npm install
This installs all required dependencies from package.json, including:
  • express – For building the API server.
  • axios – For making API calls to Open Finance providers.
  • crypto-js and jose – For handling encryption, signing, and JWTs (commonly used in Open Finance authentication).
  • Swagger – For API documentation.
  • Vue & Vite - For a modern front-end

Add Certificates, Keys, and Client ID from Your Client Pack

Step 1: Set CLIENT_ID and SIGNING_KEY_ID

Open the api/config.js file and set the variables using the IDs provided in your client pack:
//
// // SET ME FROM THE CLIENT PACK
const CLIENT_ID = '';
const SIGNING_KEY_ID = '';
//

Step 2: Add the Certificates

Copy the following files from your client pack into the api/certificates folder:
  • client_signing.key
  • client_transport.key
  • client_transport.pem

Run the Server Locally

Start the server in development mode (with automatic restarts via nodemon):
npm run dev

Access the Server

Once the server is running, you can access: