01 / What happens
What actually happens
This is HONx: what one share became after each on-chain multiplier change. Most steps are cash dividends, a fraction of a percent. Two are not. On 30 October the feed labelled a step Dividend; the issuer’s record is a spin-off. On 29 June a reverse split cut the units in half, and eight hours later a spin-off put them almost back. Corpact books each step from that record, not the feed label, and keeps doing so as new changes land.
| Activation | Feed reason | Issuer record | Change | Multiplier |
|---|---|---|---|---|
| 2025-09-05T23:55:00.000Z | Dividend | Cash dividend | +0.17% | 1.0016554 |
| 2025-10-30T23:55:00.000Z | Dividend | Spin-off | +1.10% | 1.0126918 |
| 2025-12-05T23:55:00.000Z | Dividend | Cash dividend | +0.39% | 1.0166756 |
| 2026-02-27T01:30:00.000Z | Dividend | Cash dividend | +0.35% | 1.0201914 |
| 2026-05-15T00:30:00.000Z | Dividend | Cash dividend | +0.38% | 1.0240947 |
| 2026-06-29T15:30:00.000Z | ReverseSplit | Reverse split | −50.00% | 0.5120474 |
| 2026-06-29T23:55:00.000Z | Administrative | Spin-off | +95.11% | 0.9990655 |
| 2026-08-14T00:30:00.000Z | Dividend | Cash dividend | +0.21% | 1.0011577 |
02 / Example
An example
| Token | Change | Feed says | A naive ledger books | Corpact books |
|---|---|---|---|---|
| HONx29 Jun 2026 | +95.11% | Administrative | Spin-offNot income. 48.75% of the position’s value came from the spin-off, and the issuer reinvested the proceeds into the parent. |
03 / Size
Why size doesn’t work
The largest real cash dividend in 446 days moved the multiplier 2.93%, and four of the six spin-offs moved it less. No threshold separates income from a change in basis.
WHGROx · cash dividend
+2.93%
GMEx · spin-off
+0.53%
HONx · spin-off
+1.10%
DFDVx · spin-off
+1.47%
OPENx · spin-off
+2.08%
CMCSAx · spin-off
+4.72%
HONx · spin-off
+95.11%
One cell is 0.1%. Top row: the largest cash dividend in the recording. Below it: every spin-off. The last is cut at the chart edge, where it would need 951 cells.
04 / API
The API
Register a wallet, sync it, read typed actions - each with its treatment, lifecycle state, the issuer revision it resolved on, and the SHA-256 of its evidence.
- POST
/v1/wallets/syncregister a wallet, pull its Token-2022 balances - GET
/v2/actionstyped actions with evidence and validation state - GET
/v2/actions/{id}every issuer revision, its hash, the journal history - GET
/v1/portfoliopositions with basis after each action - GET
/v1/journalthe append-only trail of recognitions and reversals - GET
/v1/exportCSV of the journal, RFC 4180
curl -s "https://api-production-c0ce.up.railway.app/v2/actions?owner=6kn8Vj9YkvNLo8peW2fzebQdSLtX33A3TkRJwXqMCy1U&limit=5" \
-H "x-api-key: cpk_Vte-IwZREtqx8NBgRdOu9e8nJfTWot3nsRQ_Y5ioRRM"That key is read-only, on its own tenant, and public on purpose. The host sleeps when idle, so the first request can take a few seconds.
05 / Status
Status
- Data
- Chain data is live Solana mainnet: the worker polls mint state continuously and classifies each change as it activates. The issuer’s reference feed is a licensed third-party product, and Corpact runs it from a verified recording of 654 changes over 446 days because the provider’s terms prohibit automated retrieval until that licence is signed. Switching to the live feed is one environment variable,
ISSUER_SOURCE=live, and no code change. - Evidence
- 244 tests, and 59 of 59 end-to-end checks on both Surfpool and solana-test-validator. The journal is append-only, enforced by
forbid_mutation()triggers on ten tables. - Scope
- Corpact accounts for corporate actions. It does not move, convert or harvest anything, and nothing is priced or billed.
