Indexer

To help speed up development, Ferum provides a free indexer which exposes useful data via a REST API. Expect more API endpoints to be added here soon!

The ferum indexer is currently being upgraded and is unavailable.

Building on top of Ferum and need your data indexed or additional APIs? We can help! Reach out to us in Ferum OGs.

Here's an example API call, which fetches all orders created on Ferum:

curl https://api.ferum.xyz/orders | jq .

{
  "data": [
    {
      "counter": 0,
      "owner": "0xdcd166a8422c44369b232d1a27fa4bd57fa428fe59af01f5bfa345be65c43358",
      "instrument_type": "0x1::aptos_coin::AptosCoin",
      "quote_type": "0x7e9d4ebb1ac454c759719fc87b7f13b116d2f226c76d838970bf80e6aaea9000::test_coins::USDF",
      "side": "buy",
      "original_qty": "1",
      "price": "1",
      "type": "resting",
      "status": "pending",
      "client_order_id": "",
      "cancel_agent": "none",
      "remaining_qty": "1"
    }
  ],
  "cursor": null
}

Endpoints

Get details about a specific order

GET https://api.ferum.xyz/orders

Query Parameters

Name
Type
Description

owner

string

Filter by address of owner that placed the order.

client_order_id

string

Filter by client_order_id of order.

limit

integer

How many objects to return. Defaults to 25. Minimum value is 0. Maximum value is 100.

cursor

string

Cursor for next page. Pass the cursor value returned in the last request to get the next page of objects.

{
    // Response
}

Get details about a specific order

GET https://api.ferum.xyz/order/{order_id}

Path Parameters

Name
Type
Description

order_id*

string

String representation of OrderID: <counter>.<owner>. See Core Concepts/OrderID for more details.

{
    // Response
}

Get executions for a specific order

GET https://api.ferum.xyz/order/{order_id}/executions

Path Parameters

Name
Type
Description

order_id*

string

String representation of OrderID: <counter>.<owner>. See Core Concepts/OrderID for more details.

{
    // Cursor for the next page. To get the next page of objects,
    // pass this value in as the cursor query parameter.
    // If null, there is no next page.
    cursor: string | null,
    data: Array<{
        // Uniquely identifies this execution from other executions
        // for the same order.
        exec_counter: integer,
        // Refers to the order this execution is for.
        // Owner portion of OrderID (see Core Concepts/OrderID).
        order_owner: integer,
        // Refers to the order this execution is for.
        // Counter portion of OrderID (see Core Concepts/OrderID).
        order_counter: string,
        // Decimal string representing price for this execution.
        price: string,
        // Decimal string representing quantity for this execution.
        qty: string,
    }>,
}

Last updated