---
title: "Create agent"
method: POST
path: "/v1/agents"
tags: ["Agents"]
---

# Create agent

`POST /v1/agents`

Create a new trading agent. Costs $0.20 in credits. The agent is created disabled by default.

## Request body

- AgentCreate
  - `name` string, required — Display name for the agent
  - `goal` string, required — Trading goal, e.g. "Monitor ETH/USDT and go long when RSI drops below 30"
  - `instructions` string, required — Detailed strategy, behavior, and risk parameters
  - `triggers` Trigger[], required
    - `type` 'scheduled' | 'alpha', required — `scheduled` for cron-based, `alpha` for signal-based
    - `cron` string — Cron expression (scheduled triggers only). Minimum 5 minutes. Supported: `*/5 * * * *`, `*/15 * * * *`, `0 * * * *`, `0 */4 * * *`, `0 0 * * *`
    - `match` string — Vector-matched against incoming alpha signals (alpha triggers only)
    - `min_impact_rating` integer — Minimum impact rating to trigger (alpha triggers only). 1-2 = low, 3 = moderate, 4 = high, 5 = critical
  - `memory_enabled` boolean
  - `trading_enabled` boolean
  - `model` string — Model ID from the provider's API, or "default" for Gigabrain's default model. Use the exact ID the provider uses — e.g. "gpt-4o" for OpenAI, "claude-sonnet-4-20250514" for Anthropic, "anthropic/claude-sonnet-4" for OpenRouter. Requires a connected API key for the chosen provider.
  - `model_provider` 'openai' | 'anthropic' | 'xai' | 'openrouter' | 'venice' — Provider of the custom model. Required when using a custom model ID.
  - `enabled` boolean

## Response `201`

Agent created

- CreateAgentResponse
  - `agent_id` string
  - `name` string
  - `description` string, nullable
  - `goal` string
  - `instructions` string
  - `triggers` object[]
  - `enabled` boolean
  - `wallet` WalletResponse
    - `wallet_id` string
    - `address` string — Wallet address
    - `agent_address` string, nullable — Populated after wallet activation
    - `exchange` string
    - `chain_type` string
    - `status` string — Wallet status (e.g. pending, active)
  - `created_at` string, nullable

## Other responses

- `401` — Invalid or revoked API key
- `429` — Rate limit exceeded (60 requests per minute)

---

[API](https://skmtc.net/gigabraingg/apis/gigabrain-api.md) · [All operations](https://skmtc.net/gigabraingg/apis/gigabrain-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gigabraingg/gigabrain-api/revisions/bb4070b30d92/schema)
