Install
You can run Kite from source with Bun, or as a Docker image. Either way you need a Postgres database.
Requirements
Section titled “Requirements”- Bun 1.4 or newer, if you run from source
- PostgreSQL (Kite is tested against Postgres 18)
- A public URL for the server, so providers can tell it about deposits (
http://localhost:3000is fine while you try it) - A wallet mnemonic for the operator
- Keys for a deposit notifier and a gas sponsor; every chain needs both
From source
Section titled “From source”-
Get the code
Terminal window git clone https://github.com/Kite-01/server kitecd kitebun installbun install --cwd client -
Start Postgres, if you don’t have one. This matches the example configuration:
Terminal window docker run -d --name kite-db -p 54320:5432 \-e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=kite postgres:18 -
Configure it. Copy the example and fill it in; Configuration explains every variable.
Terminal window cp .env.example .envAt minimum, replace
KITE_ENCRYPTION_KEY,KITE_OPERATOR_MNEMONICandKITE_ROOT_KEYwith your own values. -
Create the tables
Terminal window bun run migrate -
Run it
sh bun run devThe API and dashboard reload as you change the code.sh bun run build bun run startbuildtypechecks and builds the dashboard intoclient/dist, which the server serves. -
Open the dashboard at the URL it prints, usually
http://localhost:3000, and sign in with your root key. Then follow First run.
With Docker
Section titled “With Docker”The repository’s Dockerfile builds the dashboard and the server into one image. It runs migrations every time it starts.
docker build -t kite-server .docker run -d --name kite -p 3000:3000 --env-file .env kite-serverFrom inside a container, localhost is the container itself: point KITE_PG_DB_URL at your database’s real host, or run both on one Docker network.
Check it’s up
Section titled “Check it’s up”curl -s http://localhost:3000/api/overview/info -H "x-kite-root-key: $KITE_ROOT_KEY"{ "version": "1.0.0", "operators": [{ "chainType": "Evm", "address": "0x…" }], "chains": []}The operator address is the wallet that will send settlement and refund transactions. Each chain’s gas sponsor pays their gas. It’s also the address your Kite factory must be deployed with as operator.