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.

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: