Skip to main content

Get Fee Revenue

Returns the fee revenue time series of a node and all its descendants: a parent's figures include what its children earned. Each node's rows record that node's cut of the buyer and seller fees on its confirmed purchases; the platform owner node's rows record the platform owner's cut of every purchase. The figures come from statistics the platform refreshes periodically, so the newest purchases can take a while to appear.

The series is bucketed by time and split per currency token. Volumes are decimal strings. Unlike most responses, this one uses camelCase field names.

Required permission: node:summary:view

Request​

GET /v2/admin/nodes/{node_id}/analytics/fee-revenue?start_time={start_time}&end_time={end_time}

Parameters​

NameTypeInDescription
node_idstringpathRequired. The node at the top of the subtree to aggregate
start_timestringqueryStart of the window, RFC 3339 (2026-01-01T00:00:00Z). Default: twelve months before now.
end_timestringqueryEnd of the window, RFC 3339. Default: now.

The bucket size follows the window length: hourly up to 2 days, weekly up to 40 days, monthly up to 400 days, yearly beyond.

Headers​

NameDescription
AuthorizationRequired. Bearer <access_token>

Example​

curl --request GET \
--url '{{baseUrl}}/v2/admin/nodes/6901350deb7ed8c1c38de4e9/analytics/fee-revenue?start_time=2026-08-01T00:00:00Z&end_time=2026-10-31T23:59:59Z' \
--header 'Authorization: Bearer <access_token>'

Response​

{
"data": [
{
"volume": "1250.5",
"totalVolume": "8420.75",
"count": 14,
"totalCount": 96,
"createdAt": "2026-08-31T23:00:00Z",
"currencyTokenId": "68fe8c129367fd414b227c7a",
"currencySymbol": "TRYC"
},
{
"volume": "980",
"totalVolume": "9400.75",
"count": 11,
"totalCount": 107,
"createdAt": "2026-09-30T23:00:00Z",
"currencyTokenId": "68fe8c129367fd414b227c7a",
"currencySymbol": "TRYC"
}
],
"baselineVolume": "7170.25",
"baselineCount": 82,
"summary": {
"totalVolume": "9400.75",
"volume": "2230.5",
"totalCount": 107,
"count": 25
},
"currencySummaries": [
{
"currencyTokenId": "68fe8c129367fd414b227c7a",
"currencySymbol": "TRYC",
"volume": "2230.5",
"count": 25,
"totalVolume": "9400.75",
"totalCount": 107
}
]
}

Response Fields​

FieldTypeDescription
dataarrayOne item per (time bucket, currency token), oldest first. [] when the window has no data.
data[].volumestringFee revenue earned in this bucket
data[].totalVolumestringAll-time cumulative fee revenue at the end of this bucket
data[].countintegerNumber of purchases counted in this bucket
data[].totalCountintegerAll-time cumulative count at the end of this bucket
data[].createdAtstringTime of the newest statistics row in the bucket (ISO 8601)
data[].currencyTokenIdstringCurrency token the figures are in
data[].currencySymbolstringSymbol of that currency token
baselineVolumestringCumulative fee revenue before start_time. "0" when start_time is not sent.
baselineCountintegerCumulative count before start_time. 0 when start_time is not sent.
summary.volumestringSum of data[].volume: the window's revenue
summary.countintegerSum of data[].count
summary.totalVolumestringbaselineVolume + summary.volume
summary.totalCountintegerbaselineCount + summary.count
currencySummariesarrayThe window's figures per currency token. Omitted when data is empty.
currencySummaries[].currencyTokenIdstringCurrency token
currencySummaries[].currencySymbolstringIts symbol
currencySummaries[].volumestringWindow revenue in this currency
currencySummaries[].countintegerWindow count in this currency
currencySummaries[].totalVolumestringHighest cumulative revenue reached in this currency during the window
currencySummaries[].totalCountintegerHighest cumulative count reached in this currency during the window

summary and the baseline add every currency together. When the subtree earns in more than one currency, read currencySummaries, or convert each currency with Get Exchange Rates before adding. Without start_time the baseline is zero, so summary.totalVolume then covers only the default twelve-month window.

Errors​

StatusCodeDescription
40010015start_time or end_time is not an RFC 3339 time
40010016node_id is not a valid id
40010001Node not found
40310005The node is outside the API key's node hierarchy

See Errors for the error format and common codes.