Seedelf-Wallet

Chunk 30 · Rewards history

The owner picked it on 2026-10-12, from post-release-roadmap.md’s Kept in mind (“Small ones: … rewards history (chunk 13)”): “Rewards history on the Staking and governance page. Mainnet needs a new data-layer route; preprod has Koios’s account_rewards.”

Status: ✅ built 2026-10-12 on web-wallet/rewards-history, from main after #301. One PR: the plan, the build and the docs together, so this file went straight to the archive. What still holds is in architecture.md (Staking: the request), flows.md (Staking and voting: the page), privacy.md (What Koios learns) and seedelf-data’s README (the route). The privacy policy is unchanged: its staking row already says “your rewards” go to the Cardano server as the stake address, and nothing is kept.

What Koios has

The request

One each time the page opens, 1,000 rows a request (Koios’s most), newest first (oldest first since 1.5.0’s release review: below):

POST account_reward_history?select=earned_epoch,spendable_epoch,amount,type,pool_id_bech32
     &order=spendable_epoch.desc,earned_epoch.desc,type.asc,pool_id_bech32.asc,amount.asc&offset=0&limit=1000
{"_stake_addresses":["stake1…"]}

The data layer (mainnet)

A 22nd public route, POST /api/v1/account_reward_history (api/src/public/account.rs): Koios’s path and JSON, taking exactly the request above (one stake key, that select and order, limit=1000, an offset that’s a multiple of 1,000, up to 100,000). About one user, so never kept. (Since 1.5.0’s release review it takes the oldest-first order alone, and refuses the newest-first one, which only a build from before that review asked: C24.)

The wallet

Tests

Left for later