{
  "version": "2",
  "generatedAt": "2026-11-06T20:51:57.517Z",
  "listing": {
    "slug": "bitcart--bitcart",
    "name": "Bitcart",
    "tagline": "Self-hosted, non-custodial crypto payment processor with a merchants REST API.",
    "shortTagline": "Self-hosted crypto payments",
    "description": "Bitcart is a payment processor you host yourself for BTC, LTC, BCH, XMR, ETH, TRX, USDT and other coins. It runs coin daemons and a Merchants API for stores, products, invoices, wallets and payouts, with an admin panel and a store front. Payments go straight to your own wallets, and it only takes crypto.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "invoicing-finance",
    "alternativeTo": [],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "unknown",
    "codeStack": {
      "languages": [
        "Python"
      ],
      "frameworks": [
        "FastAPI",
        "Dishka"
      ],
      "packageManager": "uv",
      "database": [
        "PostgreSQL",
        "Redis"
      ],
      "hostingTarget": [
        "docker"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/bitcart/bitcart",
        "owner": "bitcart",
        "name": "bitcart",
        "license": "MIT",
        "stars": 1004,
        "lastCommit": "2026-11-04"
      }
    ],
    "interface": {
      "kind": "api",
      "url": "https://api.bitcart.ai",
      "official": true,
      "hosted": "local"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create and read invoices",
        "reachable": true,
        "evidence": "api/views/invoices.py; docs: POST /invoices needs price and store_id"
      },
      {
        "job": "Refund invoices",
        "reachable": true,
        "evidence": "api/views/invoices.py: POST /{model_id}/refunds and /refunds/{refund_id}/submit"
      },
      {
        "job": "Manage stores and checkout settings",
        "reachable": true,
        "evidence": "api/views/stores.py: PATCH checkout_settings, email_settings, theme_settings, rate_rules"
      },
      {
        "job": "Manage products and discounts",
        "reachable": true,
        "evidence": "api/views/products.py and discounts.py"
      },
      {
        "job": "Create and manage wallets",
        "reachable": true,
        "evidence": "api/views/wallets.py"
      },
      {
        "job": "Payouts to external addresses",
        "reachable": true,
        "evidence": "api/views/payouts.py CRUD; POST /payouts/batch with commands approve, send and cancel (api/services/crud/payouts.py)"
      },
      {
        "job": "Edit Jinja notification, product and shop templates",
        "reachable": true,
        "evidence": "api/views/templates.py; docs guides/templates.md"
      },
      {
        "job": "Notification providers",
        "reachable": true,
        "evidence": "api/views/notifications.py"
      },
      {
        "job": "Server management (users, settings, logs)",
        "reachable": true,
        "evidence": "api/views/manage.py, users.py, configurator.py; superuser token needed"
      },
      {
        "job": "Signing payouts and wallet keys",
        "reachable": true,
        "evidence": "POST /payouts/batch command send takes per-wallet private keys in options.wallets (api/services/crud/payouts.py); hot wallets sign on the server; POST /wallets/create makes a wallet"
      }
    ],
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/bitcart/bitcart"
          },
          {
            "kind": "installable",
            "url": "https://github.com/bitcart/bitcart-docker",
            "command": "git clone https://github.com/bitcart/bitcart-docker && cd bitcart-docker && export BITCART_HOST=yourdomain.tld && ./setup.sh"
          },
          {
            "kind": "one-click",
            "url": "https://docs.bitcart.ai/deployment/configurator"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md found. context7.json in the repo only registers the repo with a docs indexing service."
    },
    "customization": {
      "summary": "The conf/.env.sample file sets deployment values: BITCART_CRYPTOS picks coins, per-coin daemon host, port and login, and database and Redis connection. Business behavior is set in the admin panel or Merchants API: store checkout and email settings, Jinja templates for notifications, products and shop pages, discounts, rate rules, and a CSS theme file for the store POS. Plugins add code.",
      "envVars": [
        "BITCART_CRYPTOS",
        "BTC_HOST",
        "BTC_PORT",
        "BTC_NETWORK",
        "BTC_LIGHTNING",
        "DB_HOST",
        "DB_DATABASE",
        "REDIS_HOST",
        "BITCART_HOST"
      ],
      "configFiles": [
        "conf/.env.sample"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "surfaceKind": "admin-ui",
      "editCount": 10
    },
    "useWhen": [
      "you want to accept crypto at your own store without a custodial processor",
      "you want an agent to create invoices and check payment status over a REST API"
    ],
    "accounts": [],
    "active": true,
    "lastActivity": "2026-11-04",
    "gotchas": [
      "Crypto only: no card or bank payments, so many shops need a second processor",
      "Needs a server with a domain and DNS records; the docs run setup.sh from a root shell opened with sudo su -",
      "Runs several coin daemons plus Postgres and Redis, so it is heavier than a hosted checkout",
      "API tokens come from POST /token with an account email and password, scoped by permissions",
      "Wallets are watch-only by default; sending a payout from one through the API means putting its private key in the request, so use a hot wallet or keep that step with a person"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 3
    },
    "evidence": {
      "formFactor": "bitcart-docker README: self-hosted stack with admin, store, checkout and API",
      "executionModel": "no model in the product",
      "operability": "bitcart-docs integrations/custom-integration.md names the Merchants API and swagger at api.bitcart.ai; api/views/token.py issues scoped tokens",
      "effort": "conf/.env.sample is deployment and daemon settings; guides/templates.md and walkthrough.md put business behavior in the admin panel and API",
      "editions": "MIT repo; bitcart.ai lists no prices or hosted tier. Easy Launch is the Configurator, a self-install tool (docs deployment/configurator.md). Third-party hosts in docs are run by others, not the Builder",
      "active": "Latest commit 2026-11-04; release 0.11.0.1 on 2026-10-26"
    },
    "confidence": {
      "formFactor": 0.9,
      "executionModel": 0.95,
      "operability": 0.85,
      "effort": 0.6,
      "reach": 0.85,
      "editions": 0.9
    },
    "openQuestions": [
      "No official client for the Merchants API found: bitcart-sdk wraps the coin daemons; agents call the REST API directly",
      "Provenance not established"
    ],
    "sources": [
      {
        "url": "https://github.com/awesome-selfhosted/awesome-selfhosted",
        "foundBy": "sourcing:invoicing-finance:curated"
      },
      {
        "url": "https://github.com/bitcart/bitcart",
        "foundBy": "analysis"
      }
    ],
    "published": true,
    "lastCheckedAt": "2026-11-06",
    "research": {
      "stage": "verified",
      "verdict": "dispute",
      "reason": "Passes all gates: MIT, feature commits to 2026-11-04, release 0.11.0.1 on 2026-10-26, 1.0k stars. No Builder paid or hosted edition. Operable through the Builder's Merchants API with scoped tokens, and payouts can be approved and sent through it. The env file is deployment config and business behavior lives in the admin panel, so effort stays disputed.",
      "disputed": [
        {
          "field": "customization.effort",
          "reason": "Env vars cover coins, daemons and database only; templates, checkout settings and discounts are set in the admin panel or API."
        }
      ]
    },
    "url": "apps/bitcart--bitcart.html",
    "coverage": "complete",
    "paid": false,
    "source": "research/verified/bitcart--bitcart.json"
  }
}
