fly-trader / deploy /vault.env.example
bryceweiner's picture
Fly #107 taught by selector #100; no selector pin; self-updating container
6570567 verified
Raw History Blame Contribute Delete
1.82 kB
# /srv/fly/vault.env for the hosted $FLY vault fly (mode 600). Comments on their own lines only (Compose keeps a
# trailing "# comment" as part of the value). The wallet key is NOT here: it is the file /srv/fly/secrets/bot_key.
# --- keys ---
HELIUS_API_KEY=
JUPITER_API_KEY=
# --- money: the vault wallet (5 SOL principal) ---
LIVE_ENABLED=1
SOLANA_CLUSTER=mainnet-beta
CAPITAL_SOL=5
# only used when the fly has no sizing table yet; the Kelly caps below govern (~0.47 SOL per position on 5 SOL)
MAX_POSITION_SOL=0.5
MAX_POSITION_FRACTION=0.10
MAX_POOL_SHARE=0.02
MIN_POSITION_SOL=0.02
GAS_RESERVE_SOL=0.30
KELLY_FRACTION=0.25
KILL_SWITCH_DRAWDOWN=0.20
KILL_SWITCH_LIQUIDATE=1
HANDOVER_DAYS=0
HANDOVER_MIN_TRADES=20
HANDOVER_BEAT_SELECTOR=0
RESET_ON_START=0
DEVICE=cpu
# leave memory for Postgres and the wallet-skill table (16 GB host)
DEVICE_MEMORY_GB=6
# --- the vault ---
# SOL from these addresses is your deposit (principal); from anyone else it is profit for the lockers
FUNDING_ADDRESSES=
RH_CHAIN_ID=4663
RH_RPC_URL=https://rpc.mainnet.chain.robinhood.com
# from contracts/deployments/4663.json after you deploy
VAULT_ADDRESS=
VAULT_TIMELOCK=
VAULT_START_BLOCK=
# keccak of the implementation's runtime code (cast keccak $(cast code <impl> --rpc-url ...)); settlement refuses others
VAULT_IMPL_CODEHASHES=
RELAY_URL=https://fly-trader.app
RELAY_KEY_ID=k1
# the same secret as in relay.json on Gandi (python3 -c "import secrets; print(secrets.token_hex(32))")
RELAY_SECRET=
VAULT_SITE_DOMAIN=fly-trader.app
VAULT_SITE_URI=https://fly-trader.app/vault.html
# --- alerts ---
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=
# --- encrypted backups (key once, ledger nightly) ---
# your age1... or ssh-ed25519 public key
VAULT_BACKUP_RECIPIENT=
VAULT_BACKUP_BUCKET=bryceweiner/fly-vault-backups
VAULT_BACKUP_HF_TOKEN=