# WazirX

> Read the public market data of WazirX, the Indian crypto exchange. Get a live price for any of its markets, rank the whole exchange by turnover or by the day's biggest movers, pull candles for a chart or a moving average, look into the order book, follow recent trades, and check the exchange is up before relying on the figures. WazirX's perpetual futures are here too: contract terms, prices, mark and index prices, funding rates, candles and order books. No API key, no account and no sign-up - and every action reads, so nothing can reach an account or move money.

App · Cryptocurrency · 12 actions. Web page: https://docs.lodol.com/docs/integrations/wazirx

## Actions

### Check WazirX's status

Check whether WazirX is trading normally or under maintenance, how quickly it is answering, whether its futures market is reachable, and how far its clock is from this one. This is the one action that reports a problem as a value instead of failing the step, so a workflow can decide what to do about it - skip a report, wait, or say the figures are stale - rather than dying halfway through.

**Inputs**: None.

**Outputs**

- `checked_at` (text)
- `clock_offset_seconds` (number)
- `futures_reachable` (true/false)
- `message` (text)
- `online` (true/false)
- `reachable` (true/false)
- `response_time_ms` (number)
- `server_time` (text)
- `server_time_epoch_ms` (number)
- `status` (text)

**Example output**

```json
{
  "checked_at": "2026-09-24T09:54:00Z",
  "clock_offset_seconds": 2.5,
  "futures_reachable": true,
  "message": "System is running normally.",
  "online": true,
  "reachable": true,
  "response_time_ms": 87.5,
  "server_time": "2026-09-24T09:54:02Z",
  "server_time_epoch_ms": 1790243642500,
  "status": "normal"
}
```

### Get a futures order book

See the buy and sell orders waiting on one futures contract, best price first, with a running total of the quantity at each level, the best bid and ask, the spread and the mid price. WazirX serves the top 20 levels on each side.

**Inputs**

- Futures contract (`contract`, text, required): Which contract's order book to read.

**Outputs**

- `ask_quantity` (number)
- `asks` (list)
- `base` (text)
- `best_ask` (number)
- `best_bid` (number)
- `bid_quantity` (number)
- `bids` (list)
- `depth` (number)
- `market` (text)
- `mid_price` (number)
- `quote` (text)
- `retrieved_at` (text)
- `spread` (number)
- `spread_percent` (number)
- `symbol` (text)
- `updated_at` (text)

**Example output**

```json
{
  "ask_quantity": 0.2619,
  "asks": [
    {
      "cumulative_quantity": 0.0119,
      "price": 9513999.0,
      "quantity": 0.0119,
      "value": 113216.5881
    },
    {
      "cumulative_quantity": 0.2619,
      "price": 9514500.0,
      "quantity": 0.25,
      "value": 2378625.0
    }
  ],
  "base": "BTC",
  "best_ask": 9513999.0,
  "best_bid": 9512001.0,
  "bid_quantity": 0.3456,
  "bids": [
    {
      "cumulative_quantity": 0.0456,
      "price": 9512001.0,
      "quantity": 0.0456,
      "value": 433747.2456
    },
    {
      "cumulative_quantity": 0.3456,
      "price": 9511000.0,
      "quantity": 0.3,
      "value": 2853300.0
    }
  ],
  "depth": 20,
  "market": "BTC/INR",
  "mid_price": 9513000.0,
  "quote": "INR",
  "retrieved_at": "2026-09-24T09:54:00Z",
  "spread": 1998.0,
  "spread_percent": 0.021003,
  "symbol": "BTCINR",
  "updated_at": "2026-09-24T09:53:58Z"
}
```

### Get a futures price

Get what one futures contract is trading at: the last price and its 24-hour range, change and volume, plus the mark price WazirX values positions at, the index price it tracks, how far apart the two are, and the funding rate with the time it is next charged. The funding rate is a fraction: 0.0001 is 0.01%, and 'funding_rate_percent' gives it as a percentage.

**Inputs**

- Futures contract (`contract`, text, required): Which contract to price.

**Outputs**

- `as_of` (text)
- `base` (text)
- `change_24h` (number)
- `change_percent_24h` (number)
- `estimated_settle_price` (number)
- `funding_rate` (number)
- `funding_rate_percent` (number)
- `high_24h` (number)
- `index_price` (number)
- `low_24h` (number)
- `mark_price` (number)
- `market` (text)
- `next_funding_time` (text)
- `open_24h` (number)
- `premium_percent` (number)
- `price` (number)
- `quote` (text)
- `retrieved_at` (text)
- `symbol` (text)
- `turnover_24h` (number)
- `volume_24h` (number)

**Example output**

```json
{
  "as_of": "2026-09-24T09:53:59Z",
  "base": "BTC",
  "change_24h": 113000.0,
  "change_percent_24h": 1.2029,
  "estimated_settle_price": 9509050.0,
  "funding_rate": 0.0001,
  "funding_rate_percent": 0.01,
  "high_24h": 9561000.0,
  "index_price": 9510000.0,
  "low_24h": 9368000.0,
  "mark_price": 9508112.0,
  "market": "BTC/INR",
  "next_funding_time": "2026-09-24T12:00:00Z",
  "open_24h": 9395000.0,
  "premium_percent": -0.0199,
  "price": 9508000.0,
  "quote": "INR",
  "retrieved_at": "2026-09-24T09:54:00Z",
  "symbol": "BTCINR",
  "turnover_24h": 30568220.0,
  "volume_24h": 3.215
}
```

### Get a price

Get what one market is trading at right now: the last price, the best bid and ask, and the last 24 hours' open, high, low, change and volume. This is the action for a price alert, a morning summary or a figure to drop into a message. To price several markets at once, use 'List prices', which costs one request however many it covers.

**Inputs**

- Market (`market`, text, required): Which market to price.

**Outputs**

- `as_of` (text)
- `ask` (number)
- `base` (text)
- `bid` (number)
- `change_24h` (number)
- `change_percent_24h` (number)
- `high_24h` (number)
- `low_24h` (number)
- `market` (text)
- `open_24h` (number)
- `price` (number)
- `quote` (text)
- `retrieved_at` (text)
- `spread` (number)
- `spread_percent` (number)
- `symbol` (text)
- `turnover_24h` (number)
- `volume_24h` (number)

**Example output**

```json
{
  "as_of": "2026-09-24T09:53:59Z",
  "ask": 9513999.0,
  "base": "BTC",
  "bid": 9512001.0,
  "change_24h": 117340.0,
  "change_percent_24h": 1.249,
  "high_24h": 9560000.0,
  "low_24h": 9371250.0,
  "market": "BTC/INR",
  "open_24h": 9395000.0,
  "price": 9512340.0,
  "quote": "INR",
  "retrieved_at": "2026-09-24T09:54:00Z",
  "spread": 1998.0,
  "spread_percent": 0.021003,
  "symbol": "btcinr",
  "turnover_24h": 122187148.7808,
  "volume_24h": 12.84512
}
```

### Get futures price history

Get a futures contract's price as candles - open, high, low, close and volume for each minute, hour, day or week. Each candle says whether its period has closed. An hour with no trades comes back as a flat candle at the previous close with a volume of 0, so check the volume before reading a quiet candle as a price that held.

**Inputs**

- Futures contract (`contract`, text, required): Which contract's history to read.
- Candle size (`interval`, text): How much time each candle covers. One of: `1m` (1 minute), `5m` (5 minutes), `15m` (15 minutes), `30m` (30 minutes), `1h` (1 hour), `2h` (2 hours), `4h` (4 hours), `6h` (6 hours), `12h` (12 hours), `1d` (1 day), `1w` (1 week). Default: `1h`.
- How many (`limit`, number): How many candles to return: the most recent ones, or the first ones after 'Start from' when that is set. From 1 to 1000. Default: `100`.
- Start from (`since`, date and time): Only candles from this moment onwards. Leave it empty for the most recent ones, which is what a chart or a running average wants.
- Up to (`until`, date and time): Only candles up to this moment. Use it with 'Start from' to read a fixed window, such as yesterday.

**Outputs**

- `base` (text)
- `candles` (list)
- `complete_count` (number)
- `count` (number)
- `first_candle_time` (text)
- `interval` (text)
- `interval_label` (text)
- `last_candle_time` (text)
- `last_complete_candle_time` (text)
- `market` (text)
- `quote` (text)
- `retrieved_at` (text)
- `symbol` (text)

**Example output**

```json
{
  "base": "BTC",
  "candles": [
    {
      "close": 9509900.0,
      "complete": true,
      "high": 9530000.0,
      "low": 9468800.0,
      "open": 9471000.0,
      "time": "2026-09-24T08:00:00Z",
      "time_epoch": 1790236800,
      "volume": 2.11034
    },
    {
      "close": 9512340.0,
      "complete": false,
      "high": 9521000.0,
      "low": 9502000.0,
      "open": 9509900.0,
      "time": "2026-09-24T09:00:00Z",
      "time_epoch": 1790240400,
      "volume": 0.40211
    }
  ],
  "complete_count": 1,
  "count": 2,
  "first_candle_time": "2026-09-24T08:00:00Z",
  "interval": "1h",
  "interval_label": "1 hour",
  "last_candle_time": "2026-09-24T09:00:00Z",
  "last_complete_candle_time": "2026-09-24T08:00:00Z",
  "market": "BTC/INR",
  "quote": "INR",
  "retrieved_at": "2026-09-24T09:54:00Z",
  "symbol": "BTCINR"
}
```

### Get price history

Get a market's price as candles - the open, high, low and close of each minute, hour, day or week, with its volume - for charting, a moving average, or comparing today against last month. The most recent candle is usually still forming, so each one says whether its period has closed: read 'complete' before treating a candle as settled.

**Inputs**

- Market (`market`, text, required): Which market's history to read.
- Candle size (`interval`, text): How much time each candle covers. One of: `1m` (1 minute), `5m` (5 minutes), `15m` (15 minutes), `30m` (30 minutes), `1h` (1 hour), `2h` (2 hours), `4h` (4 hours), `6h` (6 hours), `12h` (12 hours), `1d` (1 day), `1w` (1 week). Default: `1h`.
- How many (`limit`, number): How many candles to return: the most recent ones, or the first ones after 'Start from' when that is set. From 1 to 2000. Default: `100`.
- Start from (`since`, date and time): Only candles from this moment onwards. Leave it empty for the most recent ones, which is what a chart or a running average wants.
- Up to (`until`, date and time): Only candles up to this moment. Use it with 'Start from' to read a fixed window, such as yesterday.

**Outputs**

- `base` (text)
- `candles` (list)
- `complete_count` (number)
- `count` (number)
- `first_candle_time` (text)
- `interval` (text)
- `interval_label` (text)
- `last_candle_time` (text)
- `last_complete_candle_time` (text)
- `market` (text)
- `quote` (text)
- `retrieved_at` (text)
- `symbol` (text)

**Example output**

```json
{
  "base": "BTC",
  "candles": [
    {
      "close": 9509900.0,
      "complete": true,
      "high": 9530000.0,
      "low": 9468800.0,
      "open": 9471000.0,
      "time": "2026-09-24T08:00:00Z",
      "time_epoch": 1790236800,
      "volume": 2.11034
    },
    {
      "close": 9512340.0,
      "complete": false,
      "high": 9521000.0,
      "low": 9502000.0,
      "open": 9509900.0,
      "time": "2026-09-24T09:00:00Z",
      "time_epoch": 1790240400,
      "volume": 0.40211
    }
  ],
  "complete_count": 1,
  "count": 2,
  "first_candle_time": "2026-09-24T08:00:00Z",
  "interval": "1h",
  "interval_label": "1 hour",
  "last_candle_time": "2026-09-24T09:00:00Z",
  "last_complete_candle_time": "2026-09-24T08:00:00Z",
  "market": "BTC/INR",
  "quote": "INR",
  "retrieved_at": "2026-09-24T09:54:00Z",
  "symbol": "btcinr"
}
```

### Get the order book

See the buy and sell orders waiting on one market, best price first, with a running total of the quantity at each level - what it would really cost to buy or sell a given size, rather than what the last trade happened to go for. Also returns the best bid and ask, the spread and the mid price.

**Inputs**

- Market (`market`, text, required): Which market's order book to read.
- Price levels (`depth`, number): How many price levels to return on each side. WazirX offers these sizes only. One of: `1`, `5`, `10`, `20`, `50`, `100`, `500`, `1000` (1,000). Default: `20`.

**Outputs**

- `ask_quantity` (number)
- `asks` (list)
- `base` (text)
- `best_ask` (number)
- `best_bid` (number)
- `bid_quantity` (number)
- `bids` (list)
- `depth` (number)
- `market` (text)
- `mid_price` (number)
- `quote` (text)
- `retrieved_at` (text)
- `spread` (number)
- `spread_percent` (number)
- `symbol` (text)
- `updated_at` (text)

**Example output**

```json
{
  "ask_quantity": 0.2619,
  "asks": [
    {
      "cumulative_quantity": 0.0119,
      "price": 9513999.0,
      "quantity": 0.0119,
      "value": 113216.5881
    },
    {
      "cumulative_quantity": 0.2619,
      "price": 9514500.0,
      "quantity": 0.25,
      "value": 2378625.0
    }
  ],
  "base": "BTC",
  "best_ask": 9513999.0,
  "best_bid": 9512001.0,
  "bid_quantity": 0.3456,
  "bids": [
    {
      "cumulative_quantity": 0.0456,
      "price": 9512001.0,
      "quantity": 0.0456,
      "value": 433747.2456
    },
    {
      "cumulative_quantity": 0.3456,
      "price": 9511000.0,
      "quantity": 0.3,
      "value": 2853300.0
    }
  ],
  "depth": 20,
  "market": "BTC/INR",
  "mid_price": 9513000.0,
  "quote": "INR",
  "retrieved_at": "2026-09-24T09:54:00Z",
  "spread": 1998.0,
  "spread_percent": 0.021003,
  "symbol": "btcinr",
  "updated_at": "2026-09-24T09:53:58Z"
}
```

### List futures contracts

List the contracts on WazirX's futures market and their terms: the maximum leverage, the smallest and largest order, the minimum order value, the price band a limit order must sit in, and the maintenance margin at each leverage tier. Pick contracts to see only those.

**Inputs**

- Futures contracts (`contracts`, list): Which contracts to describe. Leave it empty for every contract.
- How many (`limit`, number): How many contracts to return, alphabetically. From 1 to 500. Default: `100`.

**Outputs**

- `contracts` (list)
- `count` (number)
- `retrieved_at` (text)
- `total_matching` (number)
- `truncated` (true/false)

**Example output**

```json
{
  "contracts": [
    {
      "base": "BTC",
      "contract_type": "perpetual",
      "limit_price_band_percent": 15.0,
      "maintenance_margin_percent": 15.0,
      "maintenance_margin_tiers": [
        {
          "percent": 3.0,
          "range_end": 5.0,
          "range_start": 1.0
        },
        {
          "percent": 5.0,
          "range_end": 10.0,
          "range_start": 6.0
        }
      ],
      "margin_asset": "INR",
      "market": "BTC/INR",
      "max_leverage": 10.0,
      "max_market_quantity": 120.0,
      "max_open_orders": 200,
      "max_quantity": 1000.0,
      "min_market_quantity": 0.001,
      "min_notional": 11040.0,
      "min_quantity": 0.001,
      "name": "Bitcoin",
      "order_types": [
        "market",
        "limit"
      ],
      "price_precision": 0,
      "quantity_precision": 3,
      "quote": "INR",
      "reduce_margin_allowed_percent": 20.0,
      "symbol": "BTCINR"
    }
  ],
  "count": 1,
  "retrieved_at": "2026-09-24T09:54:00Z",
  "total_matching": 1,
  "truncated": false
}
```

### List futures prices

Get prices, mark prices and funding rates for many futures contracts at once - the ones you pick or every contract - and rank them by turnover, by the biggest 24-hour movers, or by funding rate, highest or lowest first. Two requests cover the whole market, so this is the action for a funding-rate watchlist or a daily futures summary.

**Inputs**

- Futures contracts (`contracts`, list): Which contracts to price. Leave it empty for every contract.
- Order (`sort_by`, text): How to order the contracts. One of: `turnover` (Most traded first), `gainers` (Biggest gainers first), `losers` (Biggest losers first), `funding_high` (Highest funding rate first), `funding_low` (Lowest funding rate first), `market` (Alphabetical). Default: `turnover`.
- How many (`limit`, number): How many contracts to return, from the top of the order. From 1 to 500. Default: `50`.

**Outputs**

- `count` (number)
- `prices` (list)
- `retrieved_at` (text)
- `total_matching` (number)
- `truncated` (true/false)

**Example output**

```json
{
  "count": 1,
  "prices": [
    {
      "as_of": "2026-09-24T09:53:59Z",
      "base": "BTC",
      "change_24h": 113000.0,
      "change_percent_24h": 1.2029,
      "estimated_settle_price": 9509050.0,
      "funding_rate": 0.0001,
      "funding_rate_percent": 0.01,
      "high_24h": 9561000.0,
      "index_price": 9510000.0,
      "low_24h": 9368000.0,
      "mark_price": 9508112.0,
      "market": "BTC/INR",
      "next_funding_time": "2026-09-24T12:00:00Z",
      "open_24h": 9395000.0,
      "premium_percent": -0.0199,
      "price": 9508000.0,
      "quote": "INR",
      "symbol": "BTCINR",
      "turnover_24h": 30568220.0,
      "volume_24h": 3.215
    }
  ],
  "retrieved_at": "2026-09-24T09:54:00Z",
  "total_matching": 2,
  "truncated": true
}
```

### List markets

List the spot markets WazirX trades - BTC/INR, ETH/USDT and the rest - with each one's status, the order types it takes, its price step and its precision. Narrow it to the markets priced in one currency, such as INR, or to one coin. Useful for checking whether WazirX lists a coin, or for feeding every INR market into a later step.

**Inputs**

- Priced in (`quote_asset`, text): Only markets priced in this currency. Leave it empty for every market.
- Search (`search`, text): Only markets whose name contains this, such as 'btc' or 'SOL'. Leave it empty for every market.
- Include suspended markets (`include_suspended`, true/false): Also list markets WazirX has stopped trading. Off by default, so the list is what can be traded today. Default: `false`.
- How many (`limit`, number): How many markets to return, alphabetically. From 1 to 1000. Default: `100`.

**Outputs**

- `count` (number)
- `markets` (list)
- `retrieved_at` (text)
- `total_matching` (number)
- `truncated` (true/false)

**Example output**

```json
{
  "count": 1,
  "markets": [
    {
      "base": "BTC",
      "base_precision": 5,
      "is_trading": true,
      "market": "BTC/INR",
      "min_price": 1.0,
      "order_types": [
        "limit",
        "stop_limit"
      ],
      "quote": "INR",
      "quote_precision": 0,
      "spot_trading_allowed": true,
      "status": "trading",
      "symbol": "btcinr",
      "tick_size": 1.0
    }
  ],
  "retrieved_at": "2026-09-24T09:54:00Z",
  "total_matching": 1,
  "truncated": false
}
```

### List prices

Get prices for many markets in one request: the markets you pick, every market priced in one currency, or the whole exchange. Rank them by what changed hands (turnover), by the biggest gainers or losers over 24 hours, or alphabetically - the action behind a daily top-movers report or a watchlist. Turnover is the 24-hour volume times the last price, in the currency the market is priced in, so compare it between markets priced in the same currency.

**Inputs**

- Markets (`markets`, list): Which markets to price. Leave it empty to price every market, or every market priced in the currency below.
- Priced in (`quote_asset`, text): Only markets priced in this currency, such as INR. Leave it empty for every currency.
- Order (`sort_by`, text): How to order the markets. One of: `turnover` (Most traded first), `gainers` (Biggest gainers first), `losers` (Biggest losers first), `market` (Alphabetical). Default: `turnover`.
- How many (`limit`, number): How many markets to return, from the top of the order. From 1 to 1000. Default: `50`.

**Outputs**

- `count` (number)
- `prices` (list)
- `retrieved_at` (text)
- `total_matching` (number)
- `truncated` (true/false)

**Example output**

```json
{
  "count": 1,
  "prices": [
    {
      "as_of": null,
      "ask": 9513999.0,
      "base": "BTC",
      "bid": 9512001.0,
      "change_24h": 117340.0,
      "change_percent_24h": 1.249,
      "high_24h": 9560000.0,
      "low_24h": 9371250.0,
      "market": "BTC/INR",
      "open_24h": 9395000.0,
      "price": 9512340.0,
      "quote": "INR",
      "spread": 1998.0,
      "spread_percent": 0.021003,
      "symbol": "btcinr",
      "turnover_24h": 122187148.7808,
      "volume_24h": 12.84512
    }
  ],
  "retrieved_at": "2026-09-24T09:54:00Z",
  "total_matching": 4,
  "truncated": true
}
```

### List recent trades

List a market's latest trades, newest first: the price, the quantity, the value and whether the buyer or the seller crossed the spread to make it happen. Also counts the buys and sells and works out the average price they traded at.

**Inputs**

- Market (`market`, text, required): Which market's trades to list.
- How many (`limit`, number): How many of the most recent trades to return. From 1 to 1000. Default: `50`.

**Outputs**

- `average_price` (number)
- `base` (text)
- `buy_count` (number)
- `buy_quantity` (number)
- `count` (number)
- `market` (text)
- `newest_trade_time` (text)
- `oldest_trade_time` (text)
- `quote` (text)
- `retrieved_at` (text)
- `sell_count` (number)
- `sell_quantity` (number)
- `symbol` (text)
- `trades` (list)

**Example output**

```json
{
  "average_price": 9513354.48387097,
  "base": "BTC",
  "buy_count": 1,
  "buy_quantity": 0.00105,
  "count": 2,
  "market": "BTC/INR",
  "newest_trade_time": "2026-09-24T09:53:57Z",
  "oldest_trade_time": "2026-09-24T09:53:38Z",
  "quote": "INR",
  "retrieved_at": "2026-09-24T09:54:00Z",
  "sell_count": 1,
  "sell_quantity": 0.0005,
  "symbol": "btcinr",
  "trades": [
    {
      "buyer_was_maker": false,
      "id": 28457311,
      "price": 9513999.0,
      "quantity": 0.00105,
      "side": "buy",
      "time": "2026-09-24T09:53:57Z",
      "time_epoch_ms": 1790243637000,
      "value": 9989.69895
    },
    {
      "buyer_was_maker": true,
      "id": 28457310,
      "price": 9512001.0,
      "quantity": 0.0005,
      "side": "sell",
      "time": "2026-09-24T09:53:38Z",
      "time_epoch_ms": 1790243618000,
      "value": 4756.0005
    }
  ]
}
```
