6️⃣ Custom Onchain Events

Fuul allows projects to set up any smart contract function or event as a conversion event through the Fuul Incentives Manager. You can filter transactions by specific parameters to target exactly the onchain actions you want to reward.

What You Can Incentivize

Trigger type
Description
Reward basis

Deposit & Hold

Incentivize users to deposit liquidity and reward them periodically for holding

Proportional to deposited value over time

Swap

Reward users for exchanging one token for another on your platform

Per swap or proportional to volume

Mint

Encourage users to mint in-game assets, NFTs, or any other type of token

Per mint event

Stake

Incentivize users to stake tokens and reward them periodically for their staked value

Proportional to staked value over time

Any contract interaction

Define any smart contract function or event as a trigger

Configurable per event

How It Works

Step
What happens

1. Define the trigger

Select a smart contract address and specify the function or event you want to track

2. Set filters (optional)

Add parameter-level filters to narrow which transactions qualify (e.g., minimum amount, specific token)

3. Monitor transactions

Fuul monitors the blockchain for matching transactions in real time

4. Record events

Qualifying transactions are recorded and attributed to the user's wallet address

5. Distribute rewards

Rewards are distributed based on the configured reward basis — either per event or proportionally

Hold-Based vs Event-Based Triggers

Event-based (Swap, Mint)
Hold-based (Deposit & Hold, Stake)

When rewards are calculated

At the time of the transaction

Periodically (e.g., daily snapshots)

Reward basis

Per event or proportional to volume

Proportional to value held over time

Use case

One-time actions

Ongoing participation incentives

circle-info

Custom onchain triggers support any EVM-compatible chain. If you need help defining the right contract events and filters for your protocol, reach out at [email protected]envelope.

Last updated