OpenOcean provides an API interface for DCA (Dollar-Cost Averaging) trading, enabling developers to implement automated trading functionality. This guide will introduce how to use this feature's API.
DCA Overview
The DCA feature allows users to automatically invest fixed amounts at regular intervals on the OpenOcean platform.
DCA Trading in 3 Steps
Create DCA Order
Cancel DCA Order (Optional)
Query User Orders
1. Create DCA Order
Set up your automatic investment plan by choosing how much and how often you want to invest.
Example request:
import axios from'axios';constresponse=awaitaxios({ url:'https://open-api.openocean.finance/v1/8453/dca/swap', method:'POST', data: {"makerAmount":"20000000",// total amount with decimals"takerAmount":"19983700",// optional, with decimals"signature":"0x37e6...",// user sign messagae, get from the frontend sdk"orderHash":"0x8e89...",//order hash, get from the frontend sdk"orderMaker":"0xB3cb...",// wallet address"remainingMakerAmount":"20000000",// remaing amount"data": {"salt":"",// get from the frontend sdk"makerAsset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",// token address"takerAsset":"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",// token address"maker":"0xB3cb...",// wallet address"receiver":"0x0000000000000000000000000000000000000000",// default value"allowedSender":"0x0000000000000000000000000000000000000000",// default value"makingAmount":"20000000",// with decimals"takingAmount":"19983700",// with decimals"makerAssetData":"0x",// default value, get from the frontend sdk"takerAssetData":"0x",// default value, get from the frontend sdk"getMakerAmount":"0x",// default value"getTakerAmount":"0x",// default value"predicate":"0x",// default value, get from the frontend sdk"permit":"0x",// default value, get from the frontend sdk"interaction":"0x"// get from the frontend sdk },"isActive":true,"chainId":8453,// chainId"expireTime":600,// expire time s, time * times"amountRate":"1.000816",// makerAmount/takerAmount"interaction":"0x",// default value"time":300,// interval time, s"times":2,// frequency"minPrice":"0.9",// optional, price range"maxPrice":"1.1"// optional, price range }});