Wallets API

Recurring orders a wallet holds

The whole recurring-order book for one wallet across every status — running, paused, completed and pending — so a paused order's remaining balance is a frozen figure, not a live schedule.

GET/api/external/wallet-analysis/wallet-dca-orders/{chain}/{address}

Chains

  • Solana SOL

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/wallet-analysis/wallet-dca-orders/SOL/<address>"
Parameters
ParameterDescription
chain

path · string · required

Solana only; every other chain returns 400, because Jupiter DCA is a Solana program with no wired equivalent elsewhere.
address

path · string · required

The wallet address.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Recurring orders a wallet holds
FieldTypeDescription
summaryobject | nullnull when the source could not be reached or answer. Distinct from a CONFIRMED zero, where every count reads 0 because the wallet genuinely has no recurring-order history — that is a real, checked finding ("no scheduled buying"), not the same claim as "we could not check". Counts reflect one on-chain recurring-order program only (see orders[].program): total: 0 means none found in that one program's book, not necessarily nothing scheduled under a different one.
summary.totalinteger
summary.activeinteger
summary.pausedinteger
summary.completedinteger
summary.pendinginteger
ordersobject[]Always an array — empty both when summary is null and when summary is a confirmed zero.
orders[].orderAddressstring | nullThe on-chain DCA order account.
orders[].programstring | nullThe on-chain recurring-order protocol running this order. Always jupiter today: this endpoint reads one on-chain recurring-order program only, never every program that might exist for a wallet — see summary's description for what that means for 0.
orders[].statusstring | nullEvery status a real order can carry, not only ones currently running — this endpoint returns the wallet's whole recurring-order book across active, paused, completed and pending alike. null when the source reports a status this surface has not seen. On a paused order, remainingUsd/perCycleUsd/nextCycleAt describe a frozen state, not a live schedule — see their own descriptions.
orders[].directionstring | null
orders[].inputMintstring | null
orders[].inputSymbolstring | null
orders[].outputMintstring | null
orders[].outputSymbolstring | null
orders[].depositedUsdnumber | nullTotal deposited over the order's life, valued at the CURRENT price — not a fixed historical cost basis. Two identical calls can return different values purely from price movement, with no new activity on the order at all.
orders[].remainingUsdnumber | nullWhat is left to spend, valued at the CURRENT price (see depositedUsd). 0 for a fully-spent order, distinct from null. On a paused order this is a frozen snapshot, not money queued to execute.
orders[].receivedUsdnumber | nullWhat the order has received back so far, valued at the CURRENT price (see depositedUsd).
orders[].volumeUsdnumber | nullLifetime volume, valued at the CURRENT price (see depositedUsd).
orders[].perCycleUsdnumber | nullThe USD size of one scheduled cycle, valued at the CURRENT price (see depositedUsd). On a paused order this is what the next cycle WOULD spend if resumed, not an imminent transaction.
orders[].frequencystring | nullThe cadence label, e.g. 1h, 9h, 52s.
orders[].progressPercentnumber | null
orders[].createdAtstring | nullISO 8601.
orders[].nextCycleAtstring | nullISO 8601, or null when there is no next cycle to report. Can be IN THE PAST even on a paused order — it names when a cycle was next DUE, not a promise that one will fire. On a paused order this is a frozen, possibly stale schedule; do not read it as evidence the order will resume.

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key