Got asked to move money? Don't build it from scratch.

Blnk gives you a production-grade, open-source ledger that fits your workflow and keeps balances correct.
Used in production by real teams:
ASCII art representation of a tree composed of various symbols and characters on a black background.
Start building

Built for developers who move money

Here's the idea. If you build features that send, receive or hold value: money, assets, stocks, tokens, etc. — Blnk's got you covered.

Ready to get started?

Deploy your ledger in 15 minutes, start building immediately, or contact us to discuss your product.
Use Cases

Perfect for any idea you want to build

Wallets
Digital wallet balance showing $895.12 USD with buttons for Top up and Send money.
Everything a wallet needs
Ship seamless wallet experiences your users love, powered by a reliable financial ledger.
Fintech
Credit card with a total balance of £91,218.32, card number 1234 masked digits 3456, belonging to David Sutton, expiring 09/28, with Visa logo.
Better fintech products
Skip half the work and build financial accounts, cards, lending, escrow, and payments on a solid financial Core.
Crypto
Cryptocurrency exchange interface showing conversion of 0.31198632 BTC to 33,747.20 USDT with exchange fee of 10 USDT and rate of 1 BTC equals 108,168.84 USDT.
Accuracy to the smallest satoshi
One ledger for your app's financial activities across both fiat and crypto workflows. Supports any currency.
Payments
Three payment transactions showing amounts and types: a successful card payment of $123.82, a successful crypto payment of $23.10, and a failed ACH payment of $73.02.
Move money confidently
Handle complex money movement across processors, banks, and internal systems, with reconciliation built in.
AI
Gray rounded button with sparkle icons and the word 'Thinking'.
Finance meets AI
Enjoy an intuitive ledger that gives your AI systems clean, structured financial data to learn and act on.
SaaS
Payment interface showing wallet balance of -$9.99, usage this month 14,456 out of 14,000 credits, and a blue button labeled Pay $9.99 with billing date of November 24, 2025.
Your billing, your rules
Power your billing, from prepaid and postpaid plans to wallet tracking, invoicing, and credits.
Digital wallet showing a balance of $895.12 USD with buttons to add money and pay bills.
Wallets
Build your wallet, in any currency

Your app is the point of sale. Users can accept contactless payments from physical cards and digital wallets—no extra hardware required.

Field service jobs, farmers' markets, concerts, and other events are perfect use cases for accepting in-person payments.

Cryptocurrency app showing Bitcoin balance of 0.2399842975 with a 3.24% decrease worth $1,023.95 today.
Crypto
Keep on-ramp & off-ramp transactions in sync

Your app is the point of sale. Users can accept contactless payments from physical cards and digital wallets—no extra hardware required.

Field service jobs, farmers' markets, concerts, and other events are perfect use cases for accepting in-person payments.

House mortgage payment progress showing $30,000 paid out of $120,000 with an overdue status, owner Bilbo Baggins, next repayment date September 20, 2025.
Lending
Manage loans and track repayments

Your app is the point of sale. Users can accept contactless payments from physical cards and digital wallets—no extra hardware required.

Field service jobs, farmers' markets, concerts, and other events are perfect use cases for accepting in-person payments.

Digital Visa card showing a total balance of £91,218.32, partially masked card number ending in 3456, cardholder name Frodo Dumbledore, and expiration date 09/23.
Fintech
Confidently ship any fintech feature

Your app is the point of sale. Users can accept contactless payments from physical cards and digital wallets—no extra hardware required.

Field service jobs, farmers' markets, concerts, and other events are perfect use cases for accepting in-person payments.

Account balance showing $42.12 with Active status and token usage of ChatGPT 5.0: 10,281,903, Claude Opus 4.1: 2,429,128, Mistral 3.1: 812,400, and Llama 4: 420,128.
AI
Build AI-powered accounting features

Your app is the point of sale. Users can accept contactless payments from physical cards and digital wallets—no extra hardware required.

Field service jobs, farmers' markets, concerts, and other events are perfect use cases for accepting in-person payments.

Currency exchange widget showing 9,239.10 USD converting to GBP with a 0.5% trading fee of 46.20 USD and total amount 9,192.90 USD.
Payments
Track money movement across payment methods

Your app is the point of sale. Users can accept contactless payments from physical cards and digital wallets—no extra hardware required.

Field service jobs, farmers' markets, concerts, and other events are perfect use cases for accepting in-person payments.

Subscription plan summary showing email harry@gringotts.com, one Pro Plan monthly at $49.99 total, with a blue Subscribe button.
SaaS
Build your own billing system

Your app is the point of sale. Users can accept contactless payments from physical cards and digital wallets—no extra hardware required.

Field service jobs, farmers' markets, concerts, and other events are perfect use cases for accepting in-person payments.

Programmable ledger API

Build with tools you already use

Blnk is API-first, with SDKs that let you integrate quickly in the languages you already use.
Explore documentation

You can use Blnk with any programming language, framework or stack.

Plug Blnk into your existing apps and systems without rebuilding your core logic.

Get started in 5 minutes with our comprehensive docs or get answers from our Discord community.

cURL
Node.js
Go
Python
PHP
Java

1

2

3

4

5

6

7

8

9

10

11

curl -X POST http://localhost:5001/transactions \
    -H 'Content-Type: application/json' \
    -d '{
          "amount": 1230.12,
          "precision": 100,
          "currency": "USD",
          "source": "@FundingPool",
          "destination": "@Frederick-Bates",
          "reference": "ref_funding_001",
          "description": "Wallet funding"
        }'

1

2

3

4

5

6

7

8

9

10

11

async function createTransaction() {
 const tx = await blnk.transactions.create({
   amount: 1230.12,
   precision: 100,
   currency: "USD",
   source: "@FundingPool",
   destination: "@Frederick-Bates",
   reference: "ref_funding_001",
   description: "Wallet funding"
 });
}

1

2

3

4

5

6

7

8

9

10

11

12

13

func main() {
    client := blnk.NewClient("http://localhost:5001")

    client.Transactions.Create(context.TODO(), blnk.Transaction{
       Amount:      1230.12,
       Precision:   100,
       Currency:    "USD",
       Source:      "@FundingPool",
       Destination: "@Frederick-Bates",
       Reference:   "ref_funding_001",
       Description: "Wallet funding",
   })
}

1

2

3

4

5

6

7

8

9

10

11

import requests

requests.post("http://localhost:5001/transactions", json={
   "amount":1230.12,
   "precision":100,
   "currency":"USD",
   "source":"@FundingPool",
   "destination":"@Frederick-Bates",
   "reference":"ref_funding_001",
   "description":"Wallet funding"
})

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

$ch = curl_init("http://localhost:5001/transactions");

curl_setopt_array($ch, [
   CURLOPT_POST => true,
   CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
   CURLOPT_POSTFIELDS => json_encode([
      "amount" => 1230.12,
      "precision" => 100,
      "currency" => "USD",
      "source" => "@FundingPool",
      "destination" => "@Frederick-Bates",
      "reference" => "ref_funding_001",
      "description" => "Wallet funding"
   ]),
]);

curl_exec($ch);

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

HttpRequest request = HttpRequest.newBuilder()
   .uri(URI.create("http://localhost:5001/transactions"))
   .header("Content-Type","application/json")
   .POST(HttpRequest.BodyPublishers.ofString("""
      {   "amount":1230.12,
           "precision":100,
           "currency":"USD",
           "source":"@FundingPool",
           "destination":"@Frederick-Bates",
           "reference":"ref_funding_001",
           "description":"Wallet funding"
      }
   """
))
   .build();

HttpClient.newHttpClient()
   .send(request, HttpResponse.BodyHandlers.discarding());
HTTP 200 OK
{
   "id": "txn_6164573b-6cc8-45a4-ad2e-7b4ba6a60f7d",
   "status": "APPLIED",
   "created_at": "2025-10-12T01:36:46.997063436Z",
   "amount": 1230.12,
   "precision": 100,
   "precise_amount": 123012,
   "currency": "USD",
   "source": "@FundingPool",
   "destination": "@Frederick-Bates",
   "reference": "ref_funding_001",
   "description": "Wallet funding"
}
Integration was seamless, and the fact that it's open-source adds flexibility. On top of that, Blnk is incredibly fast, making it a solid choice for high-performance financial systems.
Headshot of author
Toni Akinmolayan
Senior Software Engineer,
Yousend
Open-source ledger

Build any transaction workflow, fast.

Ship workflows faster without rebuilding your ledger. Define deposits, payouts, wallets, lending, and many more with just a few API calls.
Download Blnk Core

Implement what used to take days in minutes — from simple to complex workflows.

It's like legos. Combine building blocks to craft the workflow that fits your product.

Enforces accuracy, traceability, and compliance in every transaction.

Transaction summary showing pay-in of $650 via ACH on 08/10, fund transfers on 12/10 including customer wallet -$100.25, recipient wallet +$100.00, transaction fee +$0.25, and a payout withdrawal to bank of $200.25 on 15/10.
We had the licenses and the infrastructure, but without a financial core, we couldn’t move forward. Blnk gave us the foundation to build on.
Headshot of author
Mario León
CEO & Co-founder,
Tecnología Financiera
Insights

Get a 360-degree view into your ledger

Investigate transactions, generate reports, handle back-office ops, and collaborate with your team on financial data.
Open Blnk Cloud

View and navigate all of your ledger information in one place with powerful, flexible tables.

Perform back-office actions directly from the dashboard: create records, commit, or refund transactions, etc.

Stop building boring dashboards. With Insights, turn your ledger data into beautiful, interactive visualizations at a glance.

Managed deployment

Deploy your ledger infrastructure in one click

Run a production-ready ledger in one click. Same ledger engine, fully hosted, monitored, and maintained for you.
Start in Sandbox

Explore with our sandbox and seamlessly switch to production whenever you're ready to go live.

Your resources aren't shared. You get isolated compute and storage to handle up to 300,000 transactions per minute.

Enjoy up to 7-day backups with point in time recovery included for your ledger data.

Your data isn't locked in. Deploy and safely connect to your hosted data whenever you need to.

The level of attention and dedication was exceptional. The support we got has been outstanding, and we couldn't ask for better partners.
Headshot of author
Sajith Caldera,
CEO & Co-founder,
Bitnomi
Customers

Developers love Blnk. You're in good company.

We support a variety of startups building exciting use cases in banking, AI, payments, accounting, etc. You're next!
Public Grid
How Public Grid went from bare Postgres to a production-grade ledger
Renewable energy, Bill payments
Morna Tech
How Morna Tech cut a year of development to 6 months with Blnk
Fintech
Yousend
How Yousend shipped cross-border payments with Blnk Finance
Cross-border payments

Frequently
asked questions

Have other questions, send us an email at support@blnkfinance.com or contact us
Send us a message
What is Blnk Core?
open faq icon
Blnk Core is an open-source toolkit that gives developers everything they need to build ledgers, automate reconciliation, and manage identities with ease.
How does Blnk's ledger database work?
open faq icon
Blnk’s ledger is built on a double-entry accounting model designed for precision, scalability, and traceability. Each transaction is recorded as a balanced entry between a source and destination, ensuring data integrity at all times.
How does Blnk ensure double-entry consistency?
open faq icon
Blnk enforces double entry by requiring every transaction to have both a source and a destination. This means each transaction always involves two parties, keeping your records balanced.
Can Blnk Core handle multi-currency balances?
open faq icon
Yes. Blnk Core supports multi-currency by letting you define balances in different currencies and track them independently within the same ledger.
Can I model my own transaction workflows?
open faq icon
Yes, you can. Define how money moves in your system and implement them in Blnk via API calls. Blnk handles all of the ledger logic under the hood.
What's the performance like at scale (high-volume transactions)?
open faq icon
Blnk is designed to handle high volume transactions and workflows. Read our approach here.
Where does Blnk Core store my data?
open faq icon
Blnk core uses Postgres as it's storage engine. You get to bring your own Postgres database giving you 100% control on your data.
How do I connect Blnk Cloud to Blnk Core for insights and monitoring?
open faq icon
You connect your running Core instance to Blnk Cloud using our secure Query Agent. Learn how to connect your Core here.
How do I integrate Blnk into my existing stack?
open faq icon
Blnk is API-first. Run the open-source Core locally or in your infra, then connect through REST APIs or SDKs.
Can I extend Blnk with my own logic?
open faq icon
Yes. Everything in Blnk is driven by APIs. You can wrap workflows in your own services, extend them with business rules, or connect them to any provider.
Can I migrate my current ledger to Blnk Core?
open faq icon
Yes, you can. You can start by running Blnk alongside your current system. Import balances, replay historical transactions if needed, and phase over workflows step by step. Learn more about data migration here.
I have more questions. How do I get answers?
open faq icon