Indexer Queries

After completing the steps in the Envio Indexer Setup Guide, you can access the Hasura console by navigating to http://localhost:8080.

The Hasura UI provides an intuitive way to test queries to the indexer. Below are examples of common queries:

Query 1: Get All Open Orders With BTC Amount Greater Than 0.00002 BTC

This query retrieves all open orders where the amount of BTC exceeds 0.00002 (equivalent to 2000 satoshis):

query GetOrderQuery {
  Order(where: {id: {}, amount: {_gt: "2000"}}) {
    price
    timestamp
    user
    market
    id
    asset
    amount
    status
    order_type
  }
}

Query 2: Get All Users Who Have Opened an Order

This query retrieves all users who have opened at least one order:

query GetAllUsersQuery {
  DepositEvent(distinct_on: user) {
    user
  }
  OpenOrderEvent(distinct_on: user) {
    id
  }
}

Query 3: Get All Open Markets

This query returns all open markets:

query GetOpenMarkets {
  MarketRegisterEvent(distinct_on: id) {
    base_asset
    quote_asset
    timestamp
    id
  }
}

Last updated