Skip to content

Activity

Documentation / API Reference / Activity

Endpoint https://api.aradia.app

1 endpoint in this section: GET /v1/activity.

List global transfer activity

Newest first. Only canonical rows are returned: transfers invalidated by a chain reorganisation are excluded. event_type is derived consistently for both filtering and output, where a transfer from the zero address is a mint and one to the zero address is a burn.

Authorization

Send a bearer credential with the scope read:activity.

Parameters

limitintegerqueryoptional
How many items to return per page. Defaults to 20, maximum 100.
min: 1, max: 100, default: 20
before_timestampintegerqueryoptional
Page boundary: return rows older than this instant, expressed as a Unix timestamp in microseconds. Copy the value from next_page_params. Must be sent together with before_id.
min: 1
before_idintegerqueryoptional
Page boundary tie-break: the row id from next_page_params. Timestamps repeat heavily, so the id is required to place the boundary exactly. Must be sent together with before_timestamp.
min: 1
networkastarqueryoptional
Chain to query. Only Astar mainnet is indexed today.
default: astar
collectionstringqueryoptional
pattern: ^0x[0-9a-f]{40}$
event_typemint | transfer | burnqueryoptional

Request Code Samples

GET/v1/activity
Terminal window
curl -sS -X GET \
-H "Authorization: Bearer $ARADIA_API_TOKEN" \
"https://api.aradia.app/v1/activity"
Responses
200Activity page
application/json

Activity page

Body application/json
dataarray[object]required
paginationobjectrequired
Keyset pagination. When has_more is true, next_page_params holds the query parameters that return the following page: copy each key and value into the next request, keeping the other filters unchanged. The keys vary by endpoint, because each one pages on its own ordering.
limitintegerrequired
Example: 20
has_morebooleanrequired
Example: True
next_page_paramsobject | nulloptional
Absent when has_more is false. Time-ordered feeds return before_timestamp and before_id; token listings return after_token_id and after_id, plus after_collection on the owner holdings endpoint.
coverageobjectrequired
Whether the indexed window behind this response is complete. It is a property of the query, not of any single row, so it is reported once per response rather than repeated on every item.
statusunknown | partial | completerequired
Example: unknown
start_blockstring | nulloptional
First block covered, when known. Decimal string.
Example
{
"data": [
{
"collection_address": "0x0000000000000000000000000000000000000001",
"collection_name": "Example Collection",
"token_id": "1",
"network": "astar",
"from_address": "0x0000000000000000000000000000000000000000",
"to_address": "0x0000000000000000000000000000000000000002",
"event_type": "mint",
"block_number": "7654321",
"log_index": 4,
"transaction_hash": "0x1111111111111111111111111111111111111111111111111111111111111111",
"block_timestamp": "2026-08-01T12:00:00Z",
"confirmations": 1284
}
],
"pagination": {
"limit": 20,
"has_more": true,
"next_page_params": {
"before_timestamp": 1780245600123456,
"before_id": 2017853
}
},
"coverage": {
"status": "unknown"
}
}
400Invalid parameter or cursor
application/json

Invalid parameter or cursor

Body application/json
errorobjectrequired
codeINVALID_ARGUMENT | UNAUTHORIZED | FORBIDDEN | NOT_FOUND | RATE_LIMITED | RATE_LIMITER_UNAVAILABLE | SERVICE_UNAVAILABLE | INTERNAL_ERRORrequired
Example: INVALID_ARGUMENT
messagestringrequired
Example: One or more request parameters are invalid.
request_idstringoptional
Example
{
"error": {
"code": "INVALID_ARGUMENT",
"message": "One or more request parameters are invalid."
}
}
401Missing or invalid bearer credential
application/json

Missing or invalid bearer credential

Body application/json
errorobjectrequired
codeINVALID_ARGUMENT | UNAUTHORIZED | FORBIDDEN | NOT_FOUND | RATE_LIMITED | RATE_LIMITER_UNAVAILABLE | SERVICE_UNAVAILABLE | INTERNAL_ERRORrequired
Example: UNAUTHORIZED
messagestringrequired
Example: Authentication is required.
request_idstringoptional
Example
{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required."
}
}
403Credential lacks the required read-only scope
application/json

Credential lacks the required read-only scope

Body application/json
errorobjectrequired
codeINVALID_ARGUMENT | UNAUTHORIZED | FORBIDDEN | NOT_FOUND | RATE_LIMITED | RATE_LIMITER_UNAVAILABLE | SERVICE_UNAVAILABLE | INTERNAL_ERRORrequired
Example: FORBIDDEN
messagestringrequired
Example: The API key does not have the required scope.
request_idstringoptional
Example
{
"error": {
"code": "FORBIDDEN",
"message": "The API key does not have the required scope."
}
}
429Request rate limit exceeded
application/json

Request rate limit exceeded

Headers: RateLimit-Reset, Retry-After

Body application/json
errorobjectrequired
codeINVALID_ARGUMENT | UNAUTHORIZED | FORBIDDEN | NOT_FOUND | RATE_LIMITED | RATE_LIMITER_UNAVAILABLE | SERVICE_UNAVAILABLE | INTERNAL_ERRORrequired
Example: RATE_LIMITED
messagestringrequired
Example: Request rate limit exceeded.
request_idstringoptional
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Request rate limit exceeded."
}
}
503Temporary dependency failure
application/json

Temporary dependency failure

Body application/json
errorobjectrequired
codeINVALID_ARGUMENT | UNAUTHORIZED | FORBIDDEN | NOT_FOUND | RATE_LIMITED | RATE_LIMITER_UNAVAILABLE | SERVICE_UNAVAILABLE | INTERNAL_ERRORrequired
Example: SERVICE_UNAVAILABLE
messagestringrequired
Example: The data service is temporarily unavailable.
request_idstringoptional
Example
{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The data service is temporarily unavailable."
}
}
Try itDemo token included
GET/v1/activity
RequestJSON
What each field does
  • limit integeroptionalmin: 1, max: 100, default: 20
    How many items to return per page. Defaults to 20, maximum 100.
  • before_timestamp integeroptionalmin: 1
    Page boundary: return rows older than this instant, expressed as a Unix timestamp in microseconds. Copy the value from next_page_params. Must be sent together with before_id.
  • before_id integeroptionalmin: 1
    Page boundary tie-break: the row id from next_page_params. Timestamps repeat heavily, so the id is required to place the boundary exactly. Must be sent together with before_timestamp.
  • network astaroptionaldefault: astar
    Chain to query. Only Astar mainnet is indexed today.
  • collection stringoptionalpattern: ^0x[0-9a-f]{40}$
  • event_type mint | transfer | burnoptional
Response
Response appears here.