Skip to content

Install

You can run Kite from source with Bun, or as a Docker image. Either way you need a Postgres database.

  • 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:3000 is fine while you try it)
  • A wallet mnemonic for the operator
  • Keys for a deposit notifier and a gas sponsor; every chain needs both
  1. Get the code

    Terminal window
    git clone https://github.com/Kite-01/server kite
    cd kite
    bun install
    bun install --cwd client
  2. 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
  3. Configure it. Copy the example and fill it in; Configuration explains every variable.

    Terminal window
    cp .env.example .env

    At minimum, replace KITE_ENCRYPTION_KEY, KITE_OPERATOR_MNEMONIC and KITE_ROOT_KEY with your own values.

  4. Create the tables

    Terminal window
    bun run migrate
  5. Run it

    sh bun run dev The API and dashboard reload as you change the code.

  6. Open the dashboard at the URL it prints, usually http://localhost:3000, and sign in with your root key. Then follow First run.

The repository’s Dockerfile builds the dashboard and the server into one image. It runs migrations every time it starts.

Terminal window
docker build -t kite-server .
docker run -d --name kite -p 3000:3000 --env-file .env kite-server

From 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.

Terminal window
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.