Quickstart

Get Artic running locally in under 5 minutes.

Prerequisites

Docker + Docker Compose, Python 3.11+, PostgreSQL (or use Docker), and an API key for at least one LLM provider (OpenAI, Anthropic, DeepSeek, or Gemini).

1. Clone the Repository

git clone https://github.com/silonelabs/artic.git
cd artic

2. Configure Environment

Copy the example environment file and fill in your API keys:

cp .env.example .env

Required variables:

VariablePurpose
DATABASE_URLPostgreSQL connection string
INTERNAL_SECRETAgent → Hub authentication
JWT_SECRETJWT signing key

At least one LLM provider:

VariableProvider
OPENAI_API_KEYOpenAI (GPT-4o)
ANTHROPIC_API_KEYAnthropic (Claude)
DEEPSEEK_API_KEYDeepSeek
GEMINI_API_KEYGoogle Gemini
Optional environment variables
VariablePurpose
TWELVE_DATA_API_KEYOHLCV candle data (rate-limited 8 req/min)
CMC_API_KEYCoinMarketCap token metadata
TELEGRAM_BOT_TOKENTelegram bot client
HASHKEY_API_KEYHashKey Global exchange API
HASHKEY_SECRETHashKey Global signing secret
HSK_RPC_URLHashKey Chain RPC for on-chain logging
HSK_PRIVATE_KEYOn-chain logger private key

3. Start the Hub

docker compose up -d

This starts the hub on port 9000 with the artic-net Docker network.

Database migrations

If this is your first run, apply migrations: cd hub && alembic upgrade head

4. Create a User Account

curl -X POST http://localhost:9000/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "trader@example.com", "password": "your-password"}'

You'll receive an access token (15 min) and refresh token.

5. Launch Your First Agent

curl -X POST http://localhost:9000/api/agents \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "BTC/USDT",
    "strategy_name": "momentum_breakout",
    "interval_seconds": 1,
    "live_mode": false,
    "risk_params": {
      "max_position_usd": 1000,
      "stop_loss_pct": 2.0,
      "take_profit_pct": 4.0
    }
  }'

The hub will:

  1. Create a Docker container for the agent
  2. Inject secrets as environment variables
  3. Start the trading loop in paper mode

Paper mode only

Set live_mode: false until you've configured your HashKey Global API keys. Paper trading simulates execution without placing real orders.

6. Monitor Your Agent

Via REST API:

curl http://localhost:9000/api/agents \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Via WebSocket (real-time streaming):

wscat -c "ws://localhost:9000/ws?token=YOUR_ACCESS_TOKEN"

Via TUI (terminal UI):

cd clients/tui
python -m tui

What's Next?