Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API
packages.usage

Packages

packages.usage

How a package is used: calls per day, per function, unique senders, failure rate and events.

Details

Endpoint
GET /v1/packages/:id/usage
Credits
10
Rate class
Heavy. Counts against your heavy requests per second.

Counts the transactions that called any version of the package in the last 24h (hourly buckets), 7d or 30d (UTC days, the current day included). Total calls, failures and the series are exact. Calls per function (top 20), unique senders and events per type are exact for quiet packages and scaled from a uniform sample for busy ones; the sampled field says which. Unique senders is a floor when sampled. Cached for 5 minutes.

Parameters

NameTypeDescription
idrequiredstringPackage id (0x...), any version. All versions of the family are counted.
windowstringWindow. Default 24h.One of "24h", "7d", "30d".

Request

Send your key in the x-api-key header, or leave it out to use the keyless tier.

curl
curl "https://api.tide.ad/v1/packages/0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809/usage?window=24h" \
  -H "x-api-key: YOUR_API_KEY"
TypeScript
const res = await fetch("https://api.tide.ad/v1/packages/0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809/usage?window=24h", {
  headers: {
    "x-api-key": process.env.TIDE_API_KEY!,
  },
});
const data = await res.json();

Response

JSON
{
  "packageId": "0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809",
  "originalId": "0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809",
  "window": "24h",
  "granularity": "hour",
  "fromCheckpoint": 341151364,
  "calls": 1761197,
  "failed": 147841,
  "failureRate": 0.083943,
  "series": [
    {
      "start": 1793696400,
      "calls": 49321,
      "failed": 2114
    },
    {
      "start": 1793700000,
      "calls": 41956,
      "failed": 2546
    },
    {
      "start": 1793703600,
      "calls": 60226,
      "failed": 5010
    }
  ],
  "functions": [
    {
      "module": "balance_manager",
      "function": "generate_proof_as_owner",
      "calls": 1456035
    },
    {
      "module": "pool",
      "function": "place_limit_order",
      "calls": 858627
    },
    {
      "module": "pool",
      "function": "cancel_order",
      "calls": 558159
    }
  ],
  "uniqueSenders": 41,
  "uniqueSendersIsFloor": true,
  "events": {
    "total": 2909243,
    "byModule": [
      {
        "module": "pool",
        "count": 2892872
      },
      {
        "module": "balance_manager",
        "count": 16371
      }
    ],
    "byType": [
      {
        "type": "0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::order_info::OrderInfo",
        "count": 880015
      },
      {
        "type": "0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::order_info::OrderPlaced",
        "count": 875246
      },
      {
        "type": "0x2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::order::OrderCanceled",
        "count": 850304
      }
    ],
    "sampled": false
  },
  "sampled": true,
  "sample": {
    "transactions": 12064,
    "of": 1761197,
    "rate": 0.006803,
    "note": "Per-function and per-sender figures are scaled up from a uniform sample of transactions. Totals, failures and the daily series are exact."
  },
  "asOf": {
    "checkpoint": 341501167,
    "timestamp": "2026-11-04T08:40:08.683Z",
    "lagMs": null
  }
}

Long lists are cut to a few items here.