Testnet-Only. Use
https://test-dex-api.cloud.aultblockchain.xyz for these endpoints and the matching Testnet chain for signed actions. This product is not available on Mainnet.Routes and filters
Every path starts with/api/v1/perp/owners/{owner}. owner is a wallet address in bech32 or EVM hex form. Use returned derived accountId values unchanged in account_id filters.
The five history feeds and the orders list also take
from, to, limit, cursor. Bounds are non-negative Unix milliseconds. Follow Pagination; an empty array is a valid result. An invalid address/ID/filter returns 400, an order absent from this owner’s history returns 404, and storage failures return 500.
status is open, closed, canceled. Ledger kind is deposit, withdraw, collateral_moved; closeout kind is liquidation or adl. The ledger has no market_id filter because collateral movement is account scoped.
Amounts and signs
Account collateral/equity and ledger/payment amounts are human collateral units. Position quantity and order/fill quantities are human base units; position values andquoteNotional are human quote units. Preserve decimal strings.
pendingFundingPaymenton a position is positive when it owes funding and negative when it receives.- Settled funding
amountis positive when the account receives and negative when it pays. Its sign convention is the opposite of pending funding. feeandfeeDenomon fills describe the indexed fee. Either can be null for historical rows without this information.- Mark-dependent account/position fields can be null. This means the API cannot value the account, not that the account has zero risk.
Order and strategy lifecycle
filledQuantity, averageFillPrice and fillHistoryComplete let a client check whether indexed fills reconcile with an order. reduceOnly: null means the flag is unknown. timeInForce: "gtc" is the backend’s label for the resting path; inspect deadline for expiry.
A conditional parent exposes conditional and does not fill directly. After activation, follow conditional.childOrderId; the child carries parentOrderId. links records the order-group edges, including ended edges. A triggered parent is not proof of an executed exit.
A TWAP parent exposes twap; its quantity is total strategy size and its fills aggregate child slices. Its accountId is empty because routing is chosen per slice. A child uses twapId to identify its parent. Schedule fields can become null when the schedule is removed. Cancel the parent through the supported transaction route, then reconcile the parent and fills.
orderId, accounts by accountId, and markets by marketId. REST
fill quantity is already a per-event human-base amount. Use this paginated feed for historical
accounting. For live updates, use Perpetual Subscriptions and reconcile with REST.
Re-read orders after reconnect or an unknown transaction outcome. A history response shows indexed data. It does not confirm that an order was submitted, and it is not a single point-in-time copy of the account.
Response field reference
Types below describe JSON, not numeric units. See the unit notes above. Nullable values must not be replaced with zero.Account
Account
Position
Position
MarginConfig
MarginConfig
Order
Order
Twap
Twap
Conditional
Conditional
Fill
Fill
Payment
Payment
Entry
Entry
Event
Event