The open-source ledgerfor products that move money
Cut your development time in half. Build with an immutable double-entry ledger designed for managing financial products in production.
1−// 1. Begin a transaction2−// 2. Check the reference3−// 3. Lock both balances4−// 4. Insert DR/CR entries5−// 5. Update both balances6−// 6. Record the transaction7−// 7. Commit8− 9−func Deposit(db *sql.DB, ref string, amount int64, src, dst string) error {10− tx, err := db.Begin()11− if err != nil {12− return err13− }14− defer tx.Rollback()15− 16− var taken int17− err = tx.QueryRow(`SELECT 1 FROM txns18− WHERE reference = $1`, ref).Scan(&taken)19− if err == nil {20− return ErrDuplicateReference21− }22− if err != sql.ErrNoRows {23− return err24− }25− 26− err = tx.QueryRow(`SELECT 1 FROM balances27− WHERE id = $1 FOR UPDATE`, src).Scan(&taken)28− if err != nil {29− return err30− }31− err = tx.QueryRow(`SELECT 1 FROM balances32− WHERE id = $1 FOR UPDATE`, dst).Scan(&taken)33− if err != nil {34− return err35− }36− 37− _, err = tx.Exec(`INSERT INTO entries38− (txn_ref, account, side, amount, ccy)39− VALUES ($1, $2, 'DR', $3, 'USD'),40− ($1, $4, 'CR', $3, 'USD')`,41− ref, src, amount, dst)42− if err != nil {43− return err44− }45− 46− _, err = tx.Exec(`UPDATE balances47− SET amount = amount - $1 WHERE id = $2`, amount, src)48− if err != nil {49− return err50− }51− _, err = tx.Exec(`UPDATE balances52− SET amount = amount + $1 WHERE id = $2`, amount, dst)53− if err != nil {54− return err55− }56− 57− _, err = tx.Exec(`INSERT INTO txns58− (reference, amount, status)59− VALUES ($1, $2, 'APPLIED')`, ref, amount)60− if err != nil {61− return err62− }63− 64− return tx.Commit()65−}1+// Send one request, and that's it!2+ 3+transaction, resp, err := client.Transaction.Create(4+ blnkgo.CreateTransactionRequest{5+ ParentTransaction: blnkgo.ParentTransaction{6+ PreciseAmount: big.NewInt(123012),7+ Precision: 100,8+ Currency: "USD",9+ Source: "@WorldUSD_ACH",10+ Destination: "bln_omar-bal-001",11+ Reference: "ref_dep_01",12+ Description: "Wallet deposit",13+ MetaData: map[string]interface{}{14+ "rail": "ach",15+ "origin": "payroll",16+ },17+ },18+ },19+)deposit.go
Build
Ship any transaction workflow in days
Blnk gives you the primitives. You combine them to build any workflow, from simple transfers to complex multi-step, multi-day financial workflows.
Transaction details
Transaction workflows
const response = await blnk.Transactions.create({ precise_amount: 125034, precision: 100, currency: 'USD', source: '@WorldUSD', destination: '@MyBalance', reference: 'ref_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94', description: 'Customer payment', skip_queue: true,}); Double-entry at heart
Model any event as movement between a source (DR) and a destination (CR). Ledger always balances with zero drift.
Strict immutability
Blnk enforces immutability to preserve ledger correctness and audit trail. Transactions, once created, can never be deleted.
Reliability
Blnk guarantees your records remain accurate, auditable, and intact, for as long as you run it.
We had just secured our license and planned for about a year of build time to build something audit-ready and compliant. Using Blnk cut that to six months. All of our features were tracked accurately with complete audit trail.
Clear the chaos
Why build with Blnk?
You simply focus on building. We handle all of the tooling behind-the-scenes: idempotency, concurrency, inflight, etc to avoid double-spends, missing funds or reconciliation failures.
Managing your “built” ledger database.
Running in production with Blnk.
Deploy & scale
Production-grade ledger systems in one click.
We provision the infrastructure, tune the hardware, and manage the boring ops. You ship and enjoy the performance.
Dedicated infrastructure
Single-tenant hardware. Isolated environment, isolated resources. No noisy neighbours.
99.9% uptime SLA
Under 44 minutes of allowed downtime per month. We aim for zero. Read full SLA.
Zero-downtime backups
Automated backups on the live instance. Restore without taking the ledger offline.
High availability
Automated failover. If a node goes offline, our systems bring the deployment back automatically.
Faster speed & throughput
Throughput up to 100,000 TPM. Higher limits on request.
30-min SEV 1 response
When your instance is unavailable, first response within 30 minutes. We keep you updated until it’s resolved.
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.
Support
24/7 dedicated support, all year round
We don't drop a docs link and leave. We build your integration with you, check your production setup, and stay on-call after launch to keep your systems solid as you grow.
The support from the team was incredible. They not only guided us through their product but also helped us implement it within our system. The level of attention and dedication was truly exceptional. We couldn’t ask for better partners.
Ledger design
Tell us your requirement, and we design the right ledger architecture that will hold at your scale.
Private Slack channel
We do not treat your issues as tickets. We sit in the channel as part of your team and solve for your product. No queue.
PoC development
We build your use case in Blnk so you can see the flows run before you commit the full integration.
Dedicated integration docs
A guide written for your product: the ledgers to create, each money flow, and the exact API calls to implement it.
24/7 availability
On-call across timezones. When you post, someone is reachable. You do not wait for our morning.
30-min SEV 1 response
Production down? Our engineers respond in 30 minutes. We do not leave the thread until it is resolved.
Operate
Stop flying blind in production
Most ledgers run in the dark. Yours doesn’t. See every record, catch every alert, and manage workflows, all from one place.
Security
Open-source ledger infrastructure you can trust
Blnk is ISO/IEC 27001-certified and GDPR-compliant. Built with security features and best practices auditors ask for.
ISO/IEC 27001 and GDPR
Blnk’s ISMS is certified to ISO/IEC 27001. Personal data is processed under GDPR.
Encryption in transit and at rest
Sensitive data at rest is encrypted with AES-256-GCM. Data in transit uses TLS 1.2 or higher.
Role-based access control
Give every team member the access they need, and nothing more.
Built for security reviews
We support vendor and security reviews with clear policies around incident response, and business continuity.
FAQs
Have other questions? Email us at [email protected].
What is Blnk?
Blnk is an open-source, double-entry ledger for building financial products. You post the movement. Blnk keeps the balances, conversions, and records around it.
What is the difference between Core and Cloud?
Core is the ledger that manages your balances and transactions. Cloud is where you deploy a production-grade Core and the back office to run operations on your ledger.
Is Blnk a payment provider?
No. Blnk is the ledger. You continue to use providers and rails such as Stripe, Unit, bank transfers, or card networks to move money. Blnk records those movements and keeps your financial state in one place.
What can I build with Blnk?
You can build products that need to track money and balances, including wallets, lending products, marketplaces, savings, insurance, trading, and payment applications.
Is Blnk Core free?
The open-source Core engine is free to run. Paid offerings are available for teams that need managed infrastructure, a back office, support, production guarantees, or commercial licensing.
Can I try Blnk before using it in production?
Yes. You can create a Blnk Cloud sandbox , create balances, post transactions, connect a payment rail, and test your workflows before moving to production.
Can I run my product on Sandbox?
Yes, for smaller, low-risk workloads. Sandbox has no uptime or backup SLA. Use Production when you need dedicated infrastructure, backups, and a 99.9% uptime SLA.
How does Blnk handle security?
Blnk is ISO/IEC 27001-certified and GDPR-compliant. Sensitive data is encrypted at rest with AES-256-GCM and in transit with TLS 1.2 or higher.
How do I get started?
Start with a Blnk Cloud sandbox to model balances and post transactions. You can also install Core locally . If you run into any issues, contact us at [email protected].