Wise's activity endpoint returns the cursor as `cursor` but only reads it back
as `nextCursor`. We sent `cursor`, which it silently ignores — so every request
returned the first page again and the walk could never terminate. Not "a year of
history is too much to paginate": it was an infinite loop over page one.
The production data says the same thing without the docs. The one live Wise
connection imported 97 rows in two consecutive seconds on 2026-07-29 — exactly
one `size=100` page after CARD_CHECK and non-EUR filtering — and in roughly 50
runs over the next 14 days never imported a single row older than 2025-12-19.
Page two has never been fetched. Meanwhile the loop hammered one endpoint for
120s straight, four times a day, until Wise started answering with timeouts and
a 500 — which is what made this look like a slow-provider problem.
The test tells the two apart by keying the fake off `nextCursor`, so the old
name looks like what it was: a one-page history that never ends. With the wrong
name the test does not terminate (verified under an alarm); with the right one it
pages twice and stops.