Skip to content

How Kite works

Kite is a single server you run. It holds your configuration and history in Postgres, watches the chains you enable, and settles payments through Kite contracts. There’s no hosted Kite service: your customers pay your server, and the funds go where you say.

Piece What it does
API Everything Kite does, over REST under /api. Documented in the API Reference.
Dashboard A web app for running the server: chains, tokens, apps, keys, payment links, transfers. Sign in with the root key.
Checkout The page customers pay on, at /pay/<payment link id>. It can also open over your own site.
Operator wallet A wallet derived from your mnemonic. It sends the transactions that settle and refund payments.
Kite contracts A factory and one contract per payment. See Contracts.
Providers QuickNode or Alchemy tell the server when deposits arrive; Alchemy pays the operator’s gas. Every chain needs both.
Postgres Configuration, apps, payment links, quotes, transfers, events and webhook deliveries.

A Kite server can serve several businesses or projects, each as an app. Payment links, customers, API keys, webhooks, fees, quotes and transfers all belong to an app, and an app’s API keys only see its own data. Chains, tokens and price feeds are shared by the whole server.

  1. A payment link exists. You create it in the dashboard, or your backend creates one per order with the SDK. It has a title, an amount in a currency such as USD, and optionally line items and your own reference.
  2. The customer opens checkout and picks how to pay: a token on one of your chains, from their wallet or by sending it.
  3. Kite quotes it. The amount is converted into the chosen token at a live rate. A quote holds for 5 minutes.
  4. A transfer opens. Kite works out the payment’s own contract address from the transfer’s terms (who’s paid, how much, fees, refund address, expiry) before anything is deployed. That address is where the customer pays.
  5. The customer pays. Either they send the tokens to that address, or, with a wallet and a token that supports it, they sign an x402 authorisation and pay without gas.
  6. Kite settles. When the deposit lands, the operator deploys the contract and settles in one transaction: swap if needed, pay fees, send the rest to your settlement address. Overpayments go back to the customer.
  7. You hear about it. Each status change is an event, delivered to your webhooks and shown on the transfer’s timeline.

If the customer never pays, the transfer expires and is cancelled. If something goes wrong after they pay, Kite refunds them. See Transfers for every status.