Percolator Keeper — liquidation, oracle price pushing, and crank services for Percolator perpetual futures on Solana.
- Liquidation — Monitors undercollateralized accounts and submits liquidation transactions
- Oracle — Pushes Pyth/DEX oracle prices to on-chain markets
- Crank — Discovers markets and cranks funding/settlement cycles
# Install
pnpm install
# Configure
cp .env.example .env
# Edit .env with your RPC URL and keeper wallet key
# Build
pnpm build
# Run
pnpm start
# Dev mode (with hot reload)
pnpm devpnpm testrailway link
railway updocker build -t percolator-keeper .
docker run --env-file .env percolator-keeper| Variable | Required | Description |
|---|---|---|
SOLANA_RPC_URL |
✅ | Solana RPC endpoint |
SOLANA_RPC_WS_URL |
✅ | Solana WebSocket RPC endpoint |
CRANK_KEYPAIR |
✅ | Keeper wallet private key (base58) or path to keypair JSON |
SUPABASE_URL |
✅ | Supabase project URL |
SUPABASE_KEY |
✅ | Supabase anon key (for keeper runtime) |
SUPABASE_SERVICE_ROLE_KEY |
✅ | Supabase service role key (must differ from SUPABASE_KEY) |
SENTRY_DSN |
❌ | Sentry error tracking DSN |
KEEPER_HEALTH_PORT |
❌ | Health check port (default: 8081) |
KEEPER_REGISTER_SECRET |
❌ | Shared secret for /register endpoint |
ADL_ENABLED |
❌ | Set to true to enable ADL service |
Apache-2.0