# Turmite > Turmite is a free, MIT-licensed, self-hosted crypto payment gateway. One Rust binary and PostgreSQL. Networks: Bitcoin, Monero, Ethereum, Base, Polygon, BNB Smart Chain, Tron, Solana and TON, with USDC and USDT where listed. The merchant API uses the same paths, fields, statuses and IPN signature as the common hosted-gateway API, so an existing integration changes only the base URL, the API key and the IPN secret. There is no hosted service, no fee and no account. Install on a Linux server: `curl -fsSL https://turmite.com/install.sh | sudo sh -s -- --site-url https://pay.example.com`. Source: https://github.com/loruorg/turmite. Image: ghcr.io/loruorg/turmite. Each docs page is also available as Markdown at the URL below. All pages in one file: https://turmite.com/llms-full.txt ## Start - [Overview](https://turmite.com/docs/index.md): Turmite is a free, self-hosted crypto payment gateway that you run on your own server. - [Quick start](https://turmite.com/docs/quick-start.md): Run Turmite on your computer in demo mode with Docker Compose and create a test payment. - [Install on a server](https://turmite.com/docs/install.md): Install Turmite on a Linux server with the install script, set up DNS and TLS, and create the root user. - [Accept your first payment](https://turmite.com/docs/first-payment.md): Create an API key, create an invoice, send the customer to checkout and mark the order paid from the webhook. - [Migrate from a hosted gateway](https://turmite.com/docs/migrate.md): Move an integration of the common hosted-gateway API to Turmite by changing the base URL, the API key and the IPN secret. ## Integrate - [Merchant API](https://turmite.com/docs/merchant-api.md): Use the merchant API to create payments and invoices, read their status and send payouts. - [API reference](https://turmite.com/docs/api-reference.md): Every merchant endpoint, request field, response and webhook payload, generated from openapi.yaml. - [Webhooks](https://turmite.com/docs/webhooks.md): Receive signed HTTP requests when a payment or a payout changes status, and verify them. - [Checkout](https://turmite.com/docs/checkout.md): The invoice page and the payment page that customers see, how they work without JavaScript, and how to brand them. - [Payouts](https://turmite.com/docs/payouts.md): Send funds from a hot wallet for refunds and other payments, with an address book, limits and two-factor approval. - [Pay with any coin](https://turmite.com/docs/exchange.md): Let customers pay with any coin that Trocador lists, while the payment arrives at its own deposit address in a coin that your project accepts. - [Tickers and networks](https://turmite.com/docs/networks.md): Supported networks, tickers, token contracts, chain IDs and default confirmations. - [Errors](https://turmite.com/docs/errors.md): The error format of the merchant API, the error codes, and when to retry a request. - [TypeScript SDK](https://turmite.com/docs/sdk.md): Call the merchant API and verify webhooks from TypeScript or JavaScript with the @turmite/sdk package. - [WooCommerce plugin](https://turmite.com/docs/woocommerce.md): Install the Turmite payment gateway plugin for WooCommerce and connect it to your Turmite server. ## Operate - [Configuration](https://turmite.com/docs/configuration.md): Set secrets and per-deployment values in the environment, and set everything else in the dashboard. - [Dashboard and roles](https://turmite.com/docs/dashboard.md): Sign in to the dashboard, give each user the lowest role that works, and protect accounts with two-factor codes. - [Projects and checkout domains](https://turmite.com/docs/projects.md): Run several shops on one install, and give each shop its own checkout domain. - [Networks and nodes](https://turmite.com/docs/nodes.md): Add RPC nodes for each network, set confirmations and tokens, and keep a second node for failover. - [Wallets per chain](https://turmite.com/docs/wallets.md): Connect a wallet for each network, and check the first deposit address before you take payments. - [Run under a path](https://turmite.com/docs/path-prefix.md): Serve Turmite under a path of an existing site, such as https://example.com/turmite, behind your own reverse proxy. - [Reverse proxy, Cloudflare and firewall](https://turmite.com/docs/reverse-proxy.md): Put Turmite behind Caddy, nginx or Cloudflare, keep the real client IP, and close every other port. - [Private dashboard](https://turmite.com/docs/private-dashboard.md): Keep the checkout and the merchant API public, and make the dashboard reachable only for your team. - [Backups and restore](https://turmite.com/docs/backups.md): Back up the database, the .env file and the secrets folder, keep a copy off the server, and test a restore. - [Upgrades](https://turmite.com/docs/upgrades.md): Update Turmite to a new release, with a database dump before each upgrade. - [Monitoring and logs](https://turmite.com/docs/monitoring.md): Check the health endpoint, read the JSON logs, and alert on the events that need a person. - [Troubleshooting](https://turmite.com/docs/troubleshooting.md): Find and fix common problems with the install, sign-in, payments, sweeps, payouts and webhooks. - [Go-live checklist](https://turmite.com/docs/go-live.md): Check the server, the accounts, the wallets and one real payment per network before you take mainnet payments. ## Security - [Security model](https://turmite.com/docs/security-model.md): What a server compromise can and cannot do on each chain, and how Turmite limits the damage. - [Architecture](https://turmite.com/docs/architecture.md): How the Turmite binary, its two roles and PostgreSQL work together, and how a payment moves through them. - [Threat model](https://turmite.com/docs/threat-model.md): The assets Turmite protects, its trust boundaries, each threat with its mitigation, and the risks that remain. - [Reporting a vulnerability](https://turmite.com/docs/report-vulnerability.md): Report a security problem in private through a GitHub security advisory. ## Reference - [CLI](https://turmite.com/docs/cli.md): Reference for the turmite command and its subcommands. - [Environment variables](https://turmite.com/docs/environment.md): The complete list of environment variables that Turmite reads. - [Payment statuses](https://turmite.com/docs/statuses.md): Every payment and payout status, what it means and what your shop does. - [Changelog](https://turmite.com/docs/changelog.md): Changes in each Turmite release. ## Community - [Contributing](https://turmite.com/docs/contributing.md): Build Turmite from source, run the tests and send a pull request. - [License](https://turmite.com/docs/license.md): Turmite is free software under the MIT license.