Overview
Discover what makes Bitcart powerful
Bitcart is a self‑hosted, open‑source cryptocurrency payment platform that abstracts the complexities of multi‑coin wallet management, checkout flows, and merchant APIs. It exposes a unified RESTful interface that lets merchants accept over 50 cryptocurrencies—including Bitcoin, Ethereum, Tron, BNB, MATIC, USDT, USDC, and many others—without exposing private keys or incurring transaction fees. The core of Bitcart is written in **Python 3** and leverages the **FastAPI** framework for high‑performance, asynchronous request handling. Business logic is split across micro‑services: a daemon layer that manages wallet connections, an admin panel for configuration and analytics, and a store front for checkout flows.
Language & Frameworks
Databases
Wallet Connectivity
Deployment
Overview
Bitcart is a self‑hosted, open‑source cryptocurrency payment platform that abstracts the complexities of multi‑coin wallet management, checkout flows, and merchant APIs. It exposes a unified RESTful interface that lets merchants accept over 50 cryptocurrencies—including Bitcoin, Ethereum, Tron, BNB, MATIC, USDT, USDC, and many others—without exposing private keys or incurring transaction fees. The core of Bitcart is written in Python 3 and leverages the FastAPI framework for high‑performance, asynchronous request handling. Business logic is split across micro‑services: a daemon layer that manages wallet connections, an admin panel for configuration and analytics, and a store front for checkout flows.
Technical Stack & Architecture
-
Language & Frameworks
- Python 3.10+ (asyncio, type‑hints)
- FastAPI for the merchant API and admin UI endpoints
- SQLAlchemy + Alembic for ORM and migrations
- Celery (Redis broker) for background jobs such as transaction monitoring and webhook dispatch
-
Databases
- PostgreSQL (primary) for transactional data, user accounts, and configuration.
- Redis for caching, rate limiting, and Celery task queue.
-
Wallet Connectivity
bitcart-sdk: a lightweight Python library that connects to node RPCs or third‑party APIs for each supported coin.bitccl: a domain‑specific scripting language that allows merchants to declaratively define checkout flows, including multi‑step approvals and conditional logic.
-
Deployment
- Docker is the first‑class deployment method. The
bitcart-dockerrepository contains a multi‑service Compose file that bundles the daemon, admin panel, and store front. - Kubernetes manifests are available for production‑grade scaling; each service can be horizontally scaled independently.
- Docker is the first‑class deployment method. The
-
Extensibility
- Plugins are first‑class citizens. The admin panel exposes a plugin marketplace where developers can drop in Python modules that hook into the event bus (e.g.,
on_payment_success,on_invoice_expired). - Webhooks are emitted for every state change, allowing external systems to react in real time.
- The BitCCL language can be extended with custom functions, enabling complex business rules without touching the core codebase.
- Plugins are first‑class citizens. The admin panel exposes a plugin marketplace where developers can drop in Python modules that hook into the event bus (e.g.,
Core Capabilities for Developers
| Feature | Description |
|---|---|
| Multi‑coin API | Unified endpoints (/payments, /invoices) that accept a currency parameter; the backend routes to the appropriate wallet driver. |
| Zero‑fee, non‑custodial | All transactions are signed locally; the private key never leaves the host, and no intermediary takes a cut. |
| Checkout Flow Automation | BitCCL scripts define the entire payment lifecycle, from invoice creation to settlement confirmation. |
| Event Bus & Webhooks | Exposes a robust event system; developers can subscribe to events or register HTTP callbacks. |
| Admin SDK | A Python wrapper around the admin panel API for automated provisioning of merchants, plugins, and users. |
| Audit & Analytics | PostgreSQL logs combined with optional Prometheus metrics for monitoring transaction throughput and latency. |
Deployment & Infrastructure
Bitcart is designed to run on any Linux server with Docker or Kubernetes. The minimal resource footprint (≈ 200 MiB RAM for the daemon, 300 MiB for the admin panel) makes it suitable for hobbyist setups and small businesses. For high‑traffic merchants, the daemon can be horizontally scaled behind a load balancer; each instance shares state via PostgreSQL and Redis. The Docker images are multi‑arch (amd64, arm64), ensuring compatibility with Raspberry Pi or edge devices.
Integration & Extensibility
- Plugin System – Developers can write pure Python plugins that register callbacks on the event bus. The plugin repository (
bitcart-admin) provides a template and documentation for creating new modules. - Webhooks – Every significant event (payment received, invoice expired, balance update) triggers a JSON payload to registered URLs. This facilitates integration with accounting software, CRM systems, or custom dashboards.
- SDKs – The
bitcart-sdklibrary offers a programmatic interface to wallet operations, enabling developers to build custom front‑ends or integrate Bitcart into existing e‑commerce stacks. - BitCCL Scripting – The custom scripting language allows declarative checkout flows, making it possible to define complex multi‑step payment logic without writing imperative code.
Developer Experience
- Documentation – The official docs (
docs.bitcart.ai) cover API reference, SDK usage, plugin development, and deployment guides. The docs repository is a separate GitHub project with CI‑checked Markdown. - Community & Support – Active channels on Discord, Telegram, Matrix, and GitHub Discussions provide quick help. The project follows open‑source contribution guidelines with a clear
CONTRIBUTING.md. - Configuration – Environment variables control node URLs, database connections, and feature flags. The admin panel offers a UI for runtime configuration changes.
- Testing & CI – CircleCI runs unit tests, integration tests, and code coverage checks. The repository includes a Codecov badge indicating high test coverage.
Use Cases
| Scenario | How Bitcart Helps |
|---|---|
| E‑commerce Store | Embed the bitcart-store front end or use the API to generate invoices for any product. |
| SaaS Billing | Automate recurring crypto billing with BitCCL scripts that handle payment retries and failures. |
| **Donation Platforms |
Open SourceReady to get started?
Join the community and start self-hosting Bitcart today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Nullboard
Compact, offline kanban board for quick task management
Graphweaver
Build a single GraphQL API from any data source
Bubo Reader
Minimalist RSS feed aggregator for self‑hosted sites
Postiz
AI‑powered social media scheduler
Photofield
Fast, zoomable photo viewer for massive collections
OFBiz
Java framework for rapid enterprise web app development