Skip to main content
This page covers the smart contract implementation details. See Glossary.
Additional rewards are incentive tokens distributed outside the normal yield flow by DeFi protocols. These rewards — such as AAVE, COMP, MORPHO, or ENA tokens — arrive via side channels and can significantly enhance user returns. The key characteristic is that these rewards do not flow through the normal deposit/redeem lifecycle. They are distributed directly to vehicle addresses by external reward contracts and must be captured and distributed separately from base yield.

The interceptor standard

The Interceptor standard is Railnet’s solution for managing additional reward distribution. It provides a declarative on-chain configuration that off-chain indexing services read to correctly route rewards.

How it works

1

Declare interception rules

The Vehicle declares distribution rules via the interceptions() view function.
2

Indexers query rules

Off-chain indexers (e.g., reward distributors, airdrop systems) read these rules to determine how to route rewards.
3

Rewards are distributed

The indexer applies the routing logic and distributes rewards according to the declared rules.
By keeping distribution logic off-chain, Railnet achieves gas efficiency (no on-chain overhead for reward splitting), flexibility (rules can be updated without migrating assets), and cross-chain support (rules can specify chainId targets).

Core structures

Key features:
  • Asset-specific rules — Different routing for different reward tokens
  • Multi-recipient — Split rewards among multiple addresses
  • Cross-chain support — Route rewards to different chains
  • Pass-through — Unallocated rewards (where total shareBps < 10,000) pass through to users
  • Last-matching-rule semantics — Later rules override earlier ones for the same asset, enabling powerful override patterns

Matching semantics

Interceptors use last-matching-rule semantics, similar to CSS or firewall rules:
  1. The indexer iterates through the interceptions array and selects the last entry that matches the reward token (either exactly or via the address(0) wildcard)
  2. Within the selected rule, for each unique target, only the last valid entry matching the current chainId (or the 0 wildcard) is used
This allows you to define a default rule for all tokens, then append overrides for specific high-value tokens.

Distribution strategies

All additional rewards flow directly to end users with no operator intervention.
Best for: Community-first strategies, DAOs with community governance, maximum transparency setups.

Reinvestment mechanics

When using the reinvestment strategy, the operator sells reward tokens and deposits the proceeds back into the Multi-Vehicle without minting new shares. This increases the share price for all holders.
Calling sectorAccountingEngine.deposit() without minting shares increases totalAssets while keeping totalSupply constant. Since share price = totalAssets / totalSupply, all existing holders benefit proportionally.

Configuration

Prerequisites

  • A deployed Multi-Vehicle or Vehicle
  • The VEHICLE_SET_INTERCEPTIONS role scoped to the Vehicle contract

Asset-specific fees

Apply different fee rates to different reward tokens.

Multi-recipient split

Split fees between multiple addresses.

Hybrid fee + reinvestment

Take a small operator fee and reinvest the rest.

Reinvestment workflow

After rewards accumulate at the operator reward vault:
1

Sell reward tokens for the base asset

Use a DEX aggregator (e.g. 1inch, Paraswap) to sell accumulated reward tokens for the Multi-Vehicle’s base asset (e.g. USDC).
2

Deposit back into the Multi-Vehicle

Call deposit() on the Sector Accounting Engine with allocate=false. This increases totalAssets without minting new shares, raising the share price for all holders.Requires: MULTI_VEHICLE_DEPOSIT role scoped to the Sector Accounting Engine.
3

Verify share price impact

After reinvestment, totalAssets increases while totalSupply stays the same, resulting in a higher share price.

Advanced patterns

Let users keep governance tokens while reinvesting yield tokens.

Strategy comparison

Required role

Updating interception rules requires the VEHICLE_SET_INTERCEPTIONS role: