Technical Architecture
The diagram below shows Incentra’s high-level architecture and workflow to support a campaign.

A campaign is divided into multiple epochs (e.g., 4 hours per epoch). Once a campaign is created, the Incentra server performs the following actions during each epoch:
- Fetches blockchain data relevant to the campaign.
- Sends the data to Brevis provers to generate rewards info and corresponding ZK proofs for all users.
- Submit the rewards info and ZK proofs to the campaign contract to update rewards on-chain.
Users (i.e., reward earners) can claim their rewards directly from the campaign contract once the rewards info has been updated on-chain.