What counts as a flow
Each event has one of four kinds:
Deposits and HyperEVM inflows add to HyperCore’s USDC; withdrawals and HyperEVM outflows take from it. Transfers between accounts inside HyperCore are not flows.
Routes
USDC flows are exchange-wide, so there is no HIP-3, HIP-4 or Spot twin: those paths answer
404 with error_code unsupported_for_venue, naming the routes above.
Plans and credits
USDC flows come with the Build, Pro, Scale and Enterprise plans. A Free key receives403 with error_code forbidden, the datatype (usdc_flows), the required_plans and an upgrade_url. A refused request is not charged.
Both routes are billed like liquidations: 1 credit per 1,000 rows returned, with a minimum of 1 credit per request. See Credits.
Get the events
Events are returned oldest first, in execution order:
Page through the events
Pages follow execution order, so a page boundary that falls inside a bridge batch neither repeats nor skips an event. A page reads at most 31 days of history. With a selectivemin_usd, a page can hold fewer events than limit, or none, and still carry meta.next_cursor. Keep paging while meta.has_more is true and stop only when it is false; a short or empty page is not the end. The SDK iterators that follow the cursor already do this. Set start and end explicitly for a long walk, so the window does not move between requests.
Re-read the last 3 hours
Events in the last 3 hours can still be added after you have read past them. When a gap in the live record is repaired, the repaired event takes its place in execution order, which can be before a cursor you already used. A consumer that keeps a running copy should re-read the last 3 hours on each pass and deduplicate onid. Totals from /volume for the last 3 hours can change for the same reason.
Get totals per interval
Totals count every flow, so
/volume does not take min_usd or kind: sending either returns 400 with error_code invalid_parameter. The page holds the buckets whose open is in [start, end], oldest first, with zeros where nothing flowed. It never goes past the bucket holding now, which is still filling.
*_usd total is in USD to the cent and each *_count is the number of events of that kind. net_usd is deposits plus HyperEVM inflows, less withdrawals and HyperEVM outflows.
Available history
USDC flows start at the first recorded flow, 2025-09-27 09:33 UTC. A window that ends before it returns an empty page withmeta.coverage_from and meta.notice. A window that straddles it is served from it, and on /volume the first bucket then counts only the flows from 09:33 on, which meta.notice states.
Access
Each venue’s start date, plans and page limit come fromGET /v1/capabilities, followed by the SDK, CLI and MCP names for the same data. Send 0xArchive-Version: 2026-10-01 for the current response contract; see API conventions.