Skip to main content
POST
Create DCA order

Authorizations

x-api-key
string
header
required
Authorization
string
header
required

JWT token from the challenge-response auth flow

Body

application/json
depositRequestId
string
required

requestId from the deposit craft response

depositSignedTx
string
required

Base64-encoded signed deposit transaction

userPubkey
string
required

Your wallet public key (must match the JWT)

inputMint
string
required

Mint of the token to sell

outputMint
string
required

Mint of the token to buy

inputAmount
string
required

Total amount to DCA in smallest units. Dust from uneven division is added to the last round.

orderCount
number
required

Number of rounds to split the deposit into (minimum 2). No fixed upper limit, but each round must be worth at least 10 USD, so the practical maximum is floor(total deposit USD / 10).

Required range: x >= 2
intervalSeconds
number
required

Seconds between rounds (60 to 31,536,000, i.e. 1 minute to 1 year)

Required range: 60 <= x <= 31536000
orderType
enum<string>
default:time_based

time_based runs every interval; price_conditional only fills while the trigger mint price is within the band.

Available options:
time_based,
price_conditional
minPriceUsd
number

Lower USD price bound. Price-conditional only.

maxPriceUsd
number

Upper USD price bound. Price-conditional only.

triggerMint
string

Mint whose USD price is checked against the band. Required for price_conditional. Must be a mint with a supported USD price (in practice the volatile leg / outputMint); a stablecoin such as USDC returns "Trigger mint is not supported". Ignored for time_based.

beginFillAt
string

ISO-8601 time to start the first round. Defaults to now, max 30 days in the future.

jlEnabled
boolean
default:false

Earn While You Wait. When true, idle funds earn Jupiter Lend yield between rounds. Requires orderType time_based, a supported stablecoin input, and a deposit crafted with jlMint. Default false.

jlMint
string

Jupiter Lend earn token for the input stablecoin (from GET /lend/v1/earn/tokens, the address whose assetAddress is the inputMint). Required when jlEnabled is true.

Response

DCA order created

Minimal create/cancel response carrying the order ID and an on-chain transaction signature. Returned by DCA create (deposit signature) and by confirm-cancel (withdrawal signature). Unlike price order create, it does not include depositConfirmed.

id
string
required

Order UUID

txSignature
string
required

On-chain transaction signature