Mainnet currently supports Spot DEX only. Perpetuals, Oracle, Margin Trading, Lending, and Vaults are Testnet-Only. Use Testnet endpoints and assets for those products.
What Has a Chain Fallback
The right column requires indexing the chain’s event stream, which is what this API’s indexer does.
There is no chain-level substitute short of replaying the events yourself.
Field Conventions
Chain queries differ from this API in three ways that break clients if missed:market_id,order_id, andcloidare raw bytes on the wire, and the REST gateway encodes them as base64, so they appear as opaque blobs. This API returnsmarket_idas hex.- Prices and quantities are decimal strings, not JSON numbers.
- List endpoints use Cosmos-standard
pagination.key,pagination.limit, andpagination.offset, and return one page per call.
Markets
Modulex/market.
GET /api/v1/markets and GET /api/v1/fees.
market_id here is the same binary identifier this API returns as hex on
Market Data, base64-encoded instead.
Tokens and Currencies
Modulesx/tokenregistry and x/bank.
GET /api/v1/currencies.
Fees
Modulex/accountx.
maker_fee_rate and
taker_fee_rate, and defaults from market module params. The x/clob params do not carry fee rates.
For account-specific discounts, query /ault/accountx/v1/fee_tier/{address} and
/ault/reward/v1/fee_tier_discounts. The fee-tier schedule’s discounts array starts with tier 1
at index 0. Base market rates alone are not the account’s final fee quote; referral and approved
builder settings can also affect the order’s fee information.
Orders and Order Book
Modulex/clob. The chain exposes resting orders, not price-level depth.
market_id, is_buy, price, tick, quantity,
open_quantity, remaining_deposit, deadline, post_only, fee info, and cloid.
Fallback for GET /api/v1/orders, and a partial fallback for GET /api/v1/orderbook/{symbol}. This
API returns price-level aggregates, which the chain does not. Reproducing the depth book means
aggregating these resting orders yourself.
Swagger marks
market_id as optional on the orders endpoint, but the endpoint returns
400 {"message":"market_id is required"} without it. Always include it.TWAP Parents
Testnet-Only. Usehttps://test-api.cloud.aultblockchain.xyz for these native queries.
Native Order and OrderByCloid queries can return a twap result containing the parent order
and schedule. GET /ault/clob/v1/twap-orders lists active parents and accepts orderer plus
standard pagination. Use the account actually holding the parent when filtering.
After cancelling a parent, verify its
committed close result and absence from active parents, then reconcile any already-created slices.
Checking the ordinary resting-order list alone does not confirm that a TWAP schedule has stopped.
Order Validation and Throughput
Use the field encodings above with the selected network’s Cosmos REST endpoint. The CLOB grid
is defined by native
tick_precision, not the Spot API’s fixed decimal compatibility field. See
Protocol Constraints for preflight
rules and Trading Operations for the
separate read, transaction, gas, and order-capacity budgets.
Perpetual Account and Price Queries
Testnet-Only. Usehttps://test-api.cloud.aultblockchain.xyz for these native queries.
These are native chain query names and fields, separate from the DEX API’s Spot REST and WebSocket routes.
They require a node implementing the corresponding Perpetual module. Existing byte/base64
conventions apply; an empty market_id selects cross for account queries, while a market ID selects
its isolated account.
Prices can omit an unavailable effective index while still returning a stored mark. Price-state
and funding timestamps above use Unix seconds; they are not interchangeable with DEX API
millisecond timestamps. EMA stored values require division by their corresponding weights.
AccountRisk.available_margin is not the maximum withdrawal, and a false ordinary-liquidation flag does not mean a negative-equity account is safe, because ADL handles those accounts.
For calculation rules, see Perpetuals and
Oracle. For metal market units, see Perpetuals.
Trade and Fill Data
There is no native chain query for historical CLOB fills or tickers. Collect native fill events from Cosmos RPC and use a decoder compatible with the chain version. The nativeorder_filled event emits maker updates during matching and an aggregate taker update
after that taker’s matching run. Its accumulated quantities, payments, and fees are not a universal
one-event-per-match trade feed. Do not sum raw cumulative fields as independent fills. DEX API fill records are built by its indexer and can differ from these raw events.
eth_getLogs is functional and public. See the
JSON-RPC compatibility matrix.
Historical trades and 24-hour statistics are exactly what this API’s indexer computes from these
events. See Market Data.
Balances
Modulex/bank, plus EVM JSON-RPC for the EVM side.
balanceOf(address):
GET /api/v1/balance. Moving assets between EVM and Core is a transaction, not a query.
See Transfer Assets.
For ordinary Spot orders, payment escrow moves from the account to the market’s escrow address,
so it is absent from both bank balance endpoints. The endpoints differ on vesting and other locked
coins. Neither bank query substitutes for Perpetual equity or Lending-backed Margin collateral
and debt, which follow separate product accounting.
Account and Agent State
Modulesx/accountx and x/agent.
Node and Chain Status
GET /api/v1/status to detect indexing lag before trading.
From the EVM side, eth_blockNumber, eth_chainId, and eth_syncing take the same shape:
Real-Time Subscriptions
The chain-native alternative to the WebSocket API. Examples usenode -e on Node 22 or later, which connects, prints for five seconds, then exits.
New blocks, which include fills:
result.data.value.result_finalize_block.tx_results[i].events.
Filtering by sender with tm.event='Tx' AND message.sender='ault1...' depends on the same
event-key indexing and should not be relied on. Subscribe to blocks and filter client-side.
EVM block headers and logs, over eth_subscribe:
eth_subscription notifications
with the header or log under params.result.