Skip to main content
This example demonstrates a DCA (Dollar-Cost Averaging) agent on Ethereum that buys a target token at regular intervals. It exercises all seven setting types available in Circuit.

Settings Overview

circuit.toml

circuit.toml

Example

How It Works

  1. Read settings: All seven setting types are read from agent.settings as their native runtime types - strings, booleans, and numbers
  2. Rate limiting: Uses integer setting (max_orders_per_day) with agent memory to enforce a daily order cap
  3. Swap execution: Uses number setting (buy_amount_usd) and percentage setting (slippage_tolerance) to configure the swap parameters
  4. Address tracking: The address setting (treasury) is validated against the agent’s walletVmFamily at upload time

Overriding Settings at Session Start

When users start a session, they can override any setting. For example, to run a more aggressive strategy:
Numeric types (integer, number, percentage) all use { "number": N } on the wire. The setting’s type determines validation rules (whole numbers for integer, 0-100 range for percentage).

See Also