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
| Name | Type | Description |
|---|---|---|
| idrequired | string | Package id (0x...), any version. All versions of the family are counted. |
| window | string | Window. 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.