OpenPondOpenPond
TradeAgentsPortfolioPointsPredictStats
Create AgentLogin
O

openpondai/agents/dca-agent

dca-agent

Copy strategy · 1 timesStar· 0Watch· 0
OverviewFiles
3Branches0Tags
GL
glucryptoSync production with master template updates
4d3cf1112 days ago23Commits
dca-agent/src/runtime
backtest-schedule.tsInitial commit—
backtest.tsInitial commit—
execute-dca-orders.tsInitial commit—
order-utils.tsInitial commit—
run-dca-bot.tsInitial commit—
types.tsInitial commit—
About
dca-agent

dca-agent

Tool
dca-agent
Method
POST
Profile
{
  "assets": [
    {
      "chain": "hyperliquid",
      "venue": "hyperliquid",
      "assetSymbols": [
        "BTC"
      ]
    }
  ],
  "backtest": {
    "mode": "decisions"
  },
  "category": "strategy",
  "schedule": {
    "cron": "0 8 * * 1",
    "enabled": false,
    "notifyEmail": false
  },
  "description": "Hyperliquid DCA agent.",
  "templateConfig": {
    "envVar": "OPENTOOL_PUBLIC_HL_DCA_AGENT_CONFIG",
    "schema": {
      "type": "object",
      "x-budget": {
        "modes": {
          "fixed": {
            "fields": [
              "amountUsd"
            ]
          }
        },
        "title": "Budget & allocation",
        "modeField": "allocationMode",
        "defaultMode": "fixed",
        "description": "DCA starters use fixed USD sizing across the configured basket."
      },
      "properties": {
        "dca": {
          "type": "object",
          "title": "Basket",
          "x-section": "Basket",
          "properties": {
            "preset": {
              "type": "string",
              "title": "Preset",
              "x-order": 1,
              "description": "Optional preset label for the basket."
            },
            "symbols": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "symbol": {
                    "type": "string",
                    "title": "Symbol"
                  },
                  "weight": {
                    "type": "number",
                    "title": "Weight"
                  }
                }
              },
              "title": "Symbol weights",
              "x-order": 2,
              "description": "Exact symbol + weight entries for the DCA basket. Use exact spot pairs for spot entries, for example HYPE-USDC."
            },
            "slippageBps": {
              "type": "number",
              "title": "Basket slippage",
              "x-step": 1,
              "x-unit": "bps",
              "maximum": 5000,
              "minimum": 0,
              "x-order": 3,
              "x-format": "bps",
              "description": "Max slippage for DCA execution."
            }
          },
          "description": "Weighted market basket for recurring DCA buys."
        },
        "asset": {
          "type": "string",
          "title": "Primary asset",
          "x-order": 1,
          "x-section": "Strategy",
          "description": "Fallback base asset when no explicit basket symbols are configured."
        },
        "platform": {
          "enum": [
            "hyperliquid"
          ],
          "type": "string",
          "title": "Platform",
          "x-order": 1001,
          "readOnly": true,
          "x-hidden": true,
          "x-section": "Meta",
          "description": "Execution venue for this strategy."
        },
        "schedule": {
          "type": "object",
          "title": "Schedule",
          "x-section": "Schedule",
          "properties": {
            "cron": {
              "type": "string",
              "title": "Cron expression",
              "x-order": 1,
              "description": "Cron expression for automated runs."
            },
            "enabled": {
              "type": "boolean",
              "title": "Enabled",
              "x-order": 2,
              "description": "Enable scheduled runs."
            },
            "notifyEmail": {
              "type": "boolean",
              "title": "Notify email",
              "x-order": 3,
              "description": "Send an email after scheduled runs."
            }
          },
          "description": "Cron and notification settings."
        },
        "amountUsd": {
          "type": "number",
          "title": "Fixed amount",
          "x-step": 1,
          "x-unit": "USD",
          "minimum": 1,
          "x-order": 2,
          "x-format": "currency",
          "x-section": "Strategy",
          "description": "USD budget allocated to each DCA cycle."
        },
        "countBack": {
          "type": "number",
          "title": "Bars to fetch",
          "x-step": 1,
          "maximum": 5000,
          "minimum": 50,
          "x-order": 2,
          "x-section": "Backtest",
          "description": "Historical bars fetched for simulation windows."
        },
        "execution": {
          "type": "object",
          "title": "Execution",
          "x-section": "Execution",
          "properties": {
            "symbol": {
              "type": "string",
              "title": "Execution symbol",
              "x-order": 3,
              "description": "Optional exact Hyperliquid symbol override. Use BASE-QUOTE or BASE/QUOTE for spot, bare BASE for perps, or dex:BASE for HIP-3."
            },
            "enabled": {
              "type": "boolean",
              "title": "Execution enabled",
              "x-order": 1,
              "description": "Submit live DCA orders when runs execute."
            },
            "leverage": {
              "type": "number",
              "title": "Leverage",
              "x-step": 1,
              "x-unit": "x",
              "maximum": 50,
              "minimum": 1,
              "x-order": 4,
              "description": "Target leverage for perpetual execution."
            },
            "environment": {
              "enum": [
                "testnet",
                "mainnet"
              ],
              "type": "string",
              "title": "Environment",
              "x-order": 2,
              "description": "Execution environment for Hyperliquid.",
              "x-enumLabels": [
                "Testnet",
                "Mainnet"
              ]
            },
            "slippageBps": {
              "type": "number",
              "title": "Execution slippage",
              "x-step": 1,
              "x-unit": "bps",
              "maximum": 500,
              "minimum": 0,
              "x-order": 5,
              "x-format": "bps",
              "description": "Max slippage override for live orders."
            }
          },
          "description": "Live trading controls and routing."
        },
        "resolution": {
          "enum": [
            "1",
            "5",
            "15",
            "30",
            "60",
            "240",
            "1D",
            "1W"
          ],
          "type": "string",
          "title": "Price resolution",
          "x-order": 1,
          "x-section": "Backtest",
          "description": "Bar timeframe used when simulating schedule-aware backtests."
        },
        "signalType": {
          "enum": [
            "dca"
          ],
          "type": "string",
          "title": "Strategy type",
          "x-order": 1002,
          "readOnly": true,
          "x-hidden": true,
          "x-section": "Meta",
          "description": "Internal strategy identifier."
        },
        "configVersion": {
          "type": "number",
          "title": "Config version",
          "x-order": 1000,
          "readOnly": true,
          "x-hidden": true,
          "x-section": "Meta",
          "description": "Internal version for dca-agent defaults."
        },
        "allocationMode": {
          "enum": [
            "fixed"
          ],
          "type": "string",
          "title": "Allocation mode",
          "x-order": 1003,
          "readOnly": true,
          "x-hidden": true,
          "x-section": "Meta",
          "description": "Canonical sizing mode for this template."
        }
      }
    },
    "version": 6,
    "defaults": {
      "dca": {
        "preset": "BTC",
        "symbols": [
          {
            "symbol": "BTC",
            "weight": 1
          }
        ],
        "slippageBps": 50
      },
      "asset": "BTC",
      "platform": "hyperliquid",
      "schedule": {
        "cron": "0 8 * * 1",
        "enabled": false,
        "notifyEmail": false
      },
      "amountUsd": 200,
      "countBack": 240,
      "execution": {
        "enabled": false,
        "environment": "mainnet"
      },
      "resolution": "60",
      "signalType": "dca",
      "configVersion": 6,
      "allocationMode": "fixed"
    }
  },
  "templatePreview": {
    "title": "dca-agent",
    "subtitle": "Automated fixed-amount DCA into selected Hyperliquid assets.",
    "description": "Runs on a recurring schedule and buys with a fixed USD amount per cycle.\nSupports multiple configured assets with shared budget and allocation controls.\nUses standardized order sizing and execution utilities from OpenTool.\nTracks decision outcomes and execution status through structured strategy events.\nBuilt for steady accumulation and schedule-aware backtest validation."
  }
}
Tool Path
tools/dca-agent.js
Input Schema
{
  "type": "object",
  "properties": {
    "to": {
      "type": "integer",
      "minimum": 0
    },
    "from": {
      "type": "integer",
      "minimum": 0
    },
    "mode": {
      "type": "string",
      "const": "backtest_decisions"
    },
    "source": {
      "type": "string",
      "minLength": 1
    },
    "symbol": {
      "type": "string",
      "minLength": 1
    },
    "lookbackDays": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "timeframeEnd": {
      "type": "string"
    },
    "timeframeStart": {
      "type": "string"
    },
    "initialEquityUsd": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}