# tigerbeetle/tigerbeetle

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tigerbeetle-tigerbeetle).**

15,183 stars · 768 forks · Zig · apache-2.0

## Links

- GitHub: https://github.com/tigerbeetle/tigerbeetle
- Homepage: https://tigerbeetle.com
- awesome-repositories: https://awesome-repositories.com/repository/tigerbeetle-tigerbeetle.md

## Description

TigerBeetle is a distributed financial accounting database designed for high-volume transaction processing. It functions as a specialized transaction engine that enforces strict double-entry bookkeeping invariants, ensuring that every debit and credit is balanced and accounted for with absolute consistency. By utilizing a consensus-based replication model, the system provides high availability and data durability across geographically distributed clusters, making it suitable for mission-critical financial infrastructure.

The system distinguishes itself through a performance-oriented architecture that prioritizes deterministic execution and low latency. It employs a single-threaded state machine to eliminate lock contention and uses static memory allocation to avoid garbage collection pauses. To maintain integrity, it records all operations in an immutable, append-only audit log and uses 128-bit integers for currency to ensure precise arithmetic. The engine supports complex financial workflows, including atomic currency exchanges and two-phase commit protocols, which allow for the reservation and settlement of funds without risking data inconsistencies.

Beyond its core processing capabilities, the platform includes robust operational primitives for managing the full lifecycle of financial data. It provides native language drivers for client integration, supports real-time ledger data streaming for external auditing, and offers tools for monitoring performance metrics and request latency. The system is designed for resilience, featuring automated failover, replica recovery, and rolling upgrade procedures that allow for continuous operation even during hardware or network failures.

The project provides comprehensive documentation and native client libraries to facilitate integration into existing financial systems. It is configured to run on high-performance storage infrastructure, including local NVMe drives and raw block devices, to maximize throughput.

## Tags

### Business & Productivity Software

- [Distributed Ledgers](https://awesome-repositories.com/f/business-productivity-software/double-entry-bookkeeping-engines/distributed-ledgers.md) — A high-performance, fault-tolerant database designed for mission-critical double-entry bookkeeping.
- [Ledger Engines](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/financial-software/ledger-engines.md) — Builds high-performance, double-entry accounting systems that require strict transactional integrity.
- [High-Volume](https://awesome-repositories.com/f/business-productivity-software/transaction-processing/high-volume.md) — Executes millions of financial operations per second with low latency by utilizing optimized, lock-free concurrency.
- [Account Management](https://awesome-repositories.com/f/business-productivity-software/account-management/account-management.md) — Registers and tracks financial accounts, supporting custom metadata and batch operations to maintain accurate balances. ([source](https://docs.tigerbeetle.com/coding/clients/))
- [Fee Recording](https://awesome-repositories.com/f/business-productivity-software/exchange-connectors/fee-recording.md) — Appends a distinct transfer to an exchange chain to capture the spread as a transparent, auditable fee. ([source](https://docs.tigerbeetle.com/coding/recipes/currency-exchange/))

### Data & Databases

- [Accounting Engines](https://awesome-repositories.com/f/data-databases/atomic-transaction-models/accounting-engines.md) — Enforces balance invariants, atomic transfers, and idempotent operations for complex financial workflows.
- [Accounting Invariants](https://awesome-repositories.com/f/data-databases/atomic-transaction-models/accounting-engines/accounting-invariants.md) — TigerBeetle validates debit and credit balances within the database to ensure funds are always accounted for and balance limits are respected. ([source](https://docs.tigerbeetle.com/single-page/))
- [Transaction Processors](https://awesome-repositories.com/f/data-databases/distributed-transaction-processing/pipelined-transaction-processors/transaction-processors.md) — Optimized for millions of financial ledger entries per second using a single-core architecture.
- [Financial Transaction Processing](https://awesome-repositories.com/f/data-databases/financial-transaction-processing.md) — Executes immutable ledger entries that debit one account and credit another, supporting both single-phase and two-phase transactions. ([source](https://docs.tigerbeetle.com/reference/transfer/))
- [High Availability Architectures](https://awesome-repositories.com/f/data-databases/high-availability-architectures.md) — Maintains continuous operation through automated consensus-based failover and multi-cloud replication. ([source](https://docs.tigerbeetle.com/concepts/safety/))
- [Balance Tracking](https://awesome-repositories.com/f/data-databases/balance-specifications/balance-tracking.md) — Maintains running totals of debits and credits for accounts to allow applications to compute balances. ([source](https://docs.tigerbeetle.com/coding/data-modeling/))
- [Persistence & Durability](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/persistence-durability.md) — Replicates data across multiple nodes using a consensus protocol to ensure records survive hardware or network failures. ([source](https://docs.tigerbeetle.com/single-page/))
- [Distributed Databases](https://awesome-repositories.com/f/data-databases/database-management-systems/database-engines/distributed-databases.md) — Provides a consensus-based storage engine that ensures strict serializability, data durability, and high availability.
- [Strict Serializability](https://awesome-repositories.com/f/data-databases/strict-serializability/strict-serializability.md) — Processes all transactions sequentially through a single state machine to ensure absolute consistency. ([source](https://docs.tigerbeetle.com/concepts/safety/))
- [Two-Phase Commit](https://awesome-repositories.com/f/data-databases/transfer-state-persistence/two-phase-commit.md) — Reserves funds in a pending state and resolves them via posting, voiding, or expiration to support complex financial workflows. ([source](https://docs.tigerbeetle.com/single-page/))
- [Append-Only Storage Engines](https://awesome-repositories.com/f/data-databases/append-only-storage-engines.md) — Persists all financial transactions as an immutable, checksummed, and hash-chained append-only log for auditability.
- [Backup and Recovery](https://awesome-repositories.com/f/data-databases/backup-and-recovery.md) — Detects and repairs data file corruption across replicas while enforcing safe shutdown protocols. ([source](https://docs.tigerbeetle.com/operating/cluster/))
- [Clock Synchronization Protocols](https://awesome-repositories.com/f/data-databases/clock-synchronization-protocols.md) — Aggregates physical clock readings from multiple replicas to maintain a consistent wall-clock time across the distributed system. ([source](https://docs.tigerbeetle.com/coding/time/))
- [Currency Conversion](https://awesome-repositories.com/f/data-databases/currency-conversion.md) — Links multiple ledger transfers into a single atomic unit to ensure currency conversion occurs as an indivisible transaction. ([source](https://docs.tigerbeetle.com/coding/recipes/currency-exchange/))
- [Atomic Transfer Chains](https://awesome-repositories.com/f/data-databases/data-integration-synchronization/data-integration/database-integrations/atomic-transaction-execution/atomic-workflow-operations/atomic-transfer-chains.md) — Links multiple individual transfers into a single atomic unit to ensure complex sequences of financial events succeed or fail together. ([source](https://docs.tigerbeetle.com/concepts/debit-credit/))
- [Replica Recovery](https://awesome-repositories.com/f/data-databases/data-management/backup-recovery-utilities/data-recovery/replica-recovery.md) — Restores cluster integrity by re-synchronizing data to a replacement node after a permanent hardware or instance failure. ([source](https://docs.tigerbeetle.com/operating/))
- [Atomic Chains](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/connection-transaction-management/atomic-transactions/atomic-chains.md) — Links multiple ledger events into a single atomic chain that succeeds or fails as a unit. ([source](https://docs.tigerbeetle.com/coding/clients/node/))
- [Balance History](https://awesome-repositories.com/f/data-databases/balance-specifications/balance-history.md) — Maintains a chronological record of account balances over time for auditing and reporting purposes. ([source](https://docs.tigerbeetle.com/reference/account-balance/))
- [Fault Domain Isolation](https://awesome-repositories.com/f/data-databases/read-replicas/fault-domain-isolation.md) — Enforces the use of independent hardware and network infrastructure for each replica to prevent correlated failures. ([source](https://docs.tigerbeetle.com/operating/cluster/))
- [Real-Time Data Streaming](https://awesome-repositories.com/f/data-databases/real-time-data-streaming.md) — Exports transaction logs and state changes to external systems in real-time for auditing and analytical tasks. ([source](https://docs.tigerbeetle.com/operating/))
- [Sequential Execution Engines](https://awesome-repositories.com/f/data-databases/single-node-processing/sequential-execution-engines.md) — Processes all transactions sequentially on a single core to eliminate lock contention and ensure absolute consistency.
- [Metadata Storage](https://awesome-repositories.com/f/data-databases/custom-data-fields/metadata-querying/metadata-storage.md) — Provides indexed fields for arbitrary application data to support querying and entity linking for financial accounts. ([source](https://docs.tigerbeetle.com/coding/data-modeling/))
- [Cache Efficiency Analysis](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/caching-performance/caching-strategies/query-result-caching/method-result-caches/analysis-result-caches/cache-efficiency-analysis.md) — Exposes hit and miss counts to determine if memory allocation for data caching is appropriately sized for the current workload. ([source](https://docs.tigerbeetle.com/operating/monitoring/))
- [Compatibility Migrators](https://awesome-repositories.com/f/data-databases/database-versioning/compatibility-migrators.md) — Ensures that ledger data files created by older versions remain readable and functional after software upgrades. ([source](https://docs.tigerbeetle.com/operating/upgrading/))

### DevOps & Infrastructure

- [High Availability Clusters](https://awesome-repositories.com/f/devops-infrastructure/high-availability-clusters.md) — Runs a cluster of replicas to provide high-availability and data safety for financial transactions across multiple nodes. ([source](https://docs.tigerbeetle.com/start))
- [Distributed Database Clusters](https://awesome-repositories.com/f/devops-infrastructure/distributed-database-clusters.md) — Deploys and manages high-availability database clusters that ensure data durability and consistency across multiple geographic nodes.
- [Multi-Region Deployment Strategies](https://awesome-repositories.com/f/devops-infrastructure/distributed-database-clusters/multi-region-deployment-strategies.md) — Deploys cluster nodes across multiple sites to maintain transaction processing capabilities during site failures. ([source](https://docs.tigerbeetle.com/operating/cluster/))
- [Rate Limiting](https://awesome-repositories.com/f/devops-infrastructure/rate-limiting.md) — Restricts the frequency of transactions for specific accounts or entities to protect system throughput and prevent resource exhaustion. ([source](https://docs.tigerbeetle.com/coding/recipes/))
- [Cluster Upgrades](https://awesome-repositories.com/f/devops-infrastructure/cluster-upgrades.md) — Updates the database cluster by replacing binaries across replicas without requiring downtime. ([source](https://docs.tigerbeetle.com/operating/upgrading/))
- [Storage Configurations](https://awesome-repositories.com/f/devops-infrastructure/storage-configurations.md) — Optimizes data persistence by supporting local NVMe drives, raw block devices, and remote block storage configurations. ([source](https://docs.tigerbeetle.com/operating/hardware/))

### Networking & Communication

- [Raft Consensus Implementations](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-systems-coordination/distributed-consensus-protocols/raft-consensus-implementations.md) — Coordinates multiple server replicas using the Raft protocol to ensure strict serializability and high availability.
- [Ledger Querying](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/ledger-models/ledger-querying.md) — Filters account transfers and historical balances based on specified parameters to retrieve precise financial records. ([source](https://docs.tigerbeetle.com/reference/account-filter/))
- [Request Batching](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management/request-batching.md) — Combines multiple operations into single network calls to increase data throughput and reduce response latency. ([source](https://docs.tigerbeetle.com/coding/clients/dotnet/))
- [Client Session Management](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/connection-session-management/client-session-management.md) — Registers unique client identifiers with the cluster to establish request sequences and enforce concurrency limits. ([source](https://docs.tigerbeetle.com/coding/clients/node/))

### Scientific & Mathematical Computing

- [Integer-Based Currency](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/arithmetic-number-types/arbitrary-precision-arithmetic/integer-based-currency.md) — Uses 128-bit integers to represent currency units, ensuring precise calculations by avoiding floating-point arithmetic. ([source](https://docs.tigerbeetle.com/coding/data-modeling/))

### Security & Cryptography

- [Immutable](https://awesome-repositories.com/f/security-cryptography/governance-policy-frameworks/compliance-governance/audit-and-compliance/audit-logs/immutable.md) — Records all transactions as append-only entries that cannot be erased or modified, ensuring a permanent and auditable history. ([source](https://docs.tigerbeetle.com/single-page/))

### Operating Systems & Systems Programming

- [System Timestamping](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/system-clock-utilities/timestamp-injection/system-timestamping.md) — Generates unique, immutable, and totally ordered timestamps for all records upon ingestion. ([source](https://docs.tigerbeetle.com/coding/time/))
- [Memory Locking](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management-systems/memory-locking.md) — Prevents the operating system from swapping active memory to disk by configuring system limits to maintain consistent performance. ([source](https://docs.tigerbeetle.com/operating/deploying/systemd/))

### Software Engineering & Architecture

- [Commit Protocols](https://awesome-repositories.com/f/software-engineering-architecture/commit-protocols.md) — Implements two-phase commit protocols to reserve funds in a pending state before final settlement for atomic financial operations.
- [Operation Idempotency](https://awesome-repositories.com/f/software-engineering-architecture/idempotency-mechanisms/operation-idempotency.md) — Uses unique identifiers for accounts and transfers to prevent duplicate processing during retries or system failures. ([source](https://docs.tigerbeetle.com/coding/data-modeling/))
- [Zero-Copy Mechanisms](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/zero-copy-mechanisms.md) — Transfers data directly between network buffers and application memory to minimize CPU overhead and maximize transaction throughput.
- [Correction Mechanisms](https://awesome-repositories.com/f/software-engineering-architecture/token-standards/transfer-processors/correction-mechanisms.md) — Reverses or adjusts previously committed transactions by issuing compensating entries that maintain ledger history integrity. ([source](https://docs.tigerbeetle.com/coding/recipes/))
- [Expiration Logic](https://awesome-repositories.com/f/software-engineering-architecture/token-standards/transfer-processors/expiration-logic.md) — Automatically releases reserved funds back to original accounts if a transaction is not settled within a predefined time interval. ([source](https://docs.tigerbeetle.com/coding/two-phase-transfers/))
- [Request Lifecycle Control](https://awesome-repositories.com/f/software-engineering-architecture/request-lifecycle-management/request-lifecycle-control.md) — Controls the execution of database operations through client-side cancellation and connection management for long-running tasks. ([source](https://docs.tigerbeetle.com/coding/clients/dotnet/))

### System Administration & Monitoring

- [Metrics Exporters](https://awesome-repositories.com/f/system-administration-monitoring/metrics-exporters.md) — Streams internal performance and status data to external collection agents using standard protocols for real-time observability. ([source](https://docs.tigerbeetle.com/operating/monitoring/))
- [System Audit Trails](https://awesome-repositories.com/f/system-administration-monitoring/system-audit-trails.md) — Records immutable, append-only logs of all financial events to provide a verifiable and permanent history.
- [Latency Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/log-analysis-tools/latency-monitoring.md) — Records the duration of specific transaction operations to help evaluate performance and identify bottlenecks within the database engine. ([source](https://docs.tigerbeetle.com/operating/monitoring/))

### Development Tools & Productivity

- [Database Drivers](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations/language-server-clients/database-drivers.md) — Provides native language drivers to ensure seamless communication with the storage layer and database operations. ([source](https://docs.tigerbeetle.com/start))
- [Timestamping Mechanisms](https://awesome-repositories.com/f/development-tools-productivity/state-synchronization/deterministic-state-reconciliation/timestamping-mechanisms.md) — Generates unique and totally ordered timestamps for all records upon ingestion to ensure consistent temporal ordering.

### Programming Languages & Runtimes

- [Static Allocation Strategies](https://awesome-repositories.com/f/programming-languages-runtimes/static-memory-allocations/static-allocation-strategies.md) — Pre-allocates all required memory at startup to avoid runtime garbage collection pauses and ensure predictable performance.
