Harvester
Permissionless RWA yield aggregation protocol on Solana.
Results
Anchor → Pinocchio rewrite with byte-identical account layouts, so live accounts needed no migration
Problem
RWA yield sources on Solana are fragmented across protocols with no permissionless way to aggregate and route capital toward the best available yield.
Approach
Started as an Anchor program, then rewritten in Pinocchio to cut compute-unit usage. Anchor's account macros are convenient but add CU overhead; Pinocchio's zero-dependency approach meant writing account (de)serialisation by hand, but it kept the account layout byte-identical, so existing state did not need migrating. A Node.js/TypeScript indexer streams on-chain events over Yellowstone gRPC into Postgres, and a Next.js frontend reads from it.
What I'd do next
- Ship the Pinocchio program to mainnet behind a capped TVL.
- Fan the Yellowstone stream out so the frontend and risk jobs share one feed.