Register a Sui package and query indexed events in under 10 minutes.
Migrating from direct polling?Walos is designed for teams moving away from direct fullnode event polling. This migration path keeps your package filters, lets Walos handle historical backfill, and points your application at the query gateway instead of stitching together your own pagination and retries.
# Before: direct fullnode polling
sui client call --method suix_queryEvents ...
# After: Walos query gateway
curl -H "x-api-key: YOUR_API_KEY" \
"http://127.0.0.1:3001/v1/events?package=0xYOUR_PACKAGE_ID&limit=10"
Storage SDK quickstart
Building a storage workflow instead of an indexing workflow? Start with the server-side SDK path for bucket creation, uploads, reads, namespace usage, and S3 presigned URLs.
Open Storage SDK docsAPI Response Format
Every response from /v1/events follows this shape. The meta object includes cursor-based pagination helpers.
{
"data": [
{
"packageId": "0x188247e1d63f44588c761c5c3db98aef9076e52af607a1d1028ddb502b987505",
"eventType": "events::OfferMadeEvent<...>",
"sender": "0xabc...",
"txDigest": "8cFF3y4ZET9f...",
"eventSeq": 0,
"checkpoint": 300563601,
"bcs": null,
"data": { "price": "1000000000", "nft_id": "0x..." },
"timestamp": "2026-03-25T10:03:43.000Z"
}
],
"meta": {
"count": 1,
"limit": 10,
"hasMore": false,
"nextCursor": null
}
}
Pagination
Use the after query parameter with the meta.nextCursor value from the previous response to fetch the next page. When meta.hasMore is false you have reached the last page.
# First page
curl -H "x-api-key: YOUR_API_KEY" \
"http://127.0.0.1:3001/v1/events?package=YOUR_PACKAGE_ID&limit=10"
# Next page (use nextCursor from previous response)
curl -H "x-api-key: YOUR_API_KEY" \
"http://127.0.0.1:3001/v1/events?package=YOUR_PACKAGE_ID&after=CURSOR_VALUE&limit=10"