The OFA proxy returns 90% of captured MEV value back to the originating user as a rebate. This page covers the rebate model, lifecycle, and query endpoints.
Rebate Model
| Recipient | Share | Description |
|---|---|---|
| User | 90% | Returned to the transaction originator. |
| Protocol | 10% | Retained for protocol operations and staking. |
Rebates are denominated in the native token of the chain where the MEV was captured (e.g., ETH on Ethereum mainnet).
Rebate Lifecycle
1. Capture
When a backrun auction completes and the bundle is included on-chain, the MEV value extracted by the winning backrun is recorded against the user's originating transaction.
2. Accumulation
Rebates accumulate in the user's rebate account. Small rebates from multiple transactions are batched to reduce gas costs on distribution.
3. Flush
Once the accumulated rebate exceeds the flush threshold (currently 0.001 ETH), the system queues a payout transaction. Payouts are batched across users and executed in a single on-chain transaction via the RebateDistributor contract.
4. Verification
Users can verify their rebate on-chain by submitting a Merkle proof to the RebateDistributor contract. The proof is generated from the rebate epoch's Merkle tree and can be retrieved via the audit endpoint.
Query Endpoints
GET /protect/rebates?originator_id={address}
Also available via WebSocket gateway as mev_getProtectRebates (or alias yq_getRebateHistory).
Returns the rebate summary for a given originator address.
Response:
{
"address": "0x1234...abcd",
"total_earned_wei": "12500000000000000",
"total_claimed_wei": "10000000000000000",
"pending_wei": "2500000000000000",
"tx_count": 47
}
Rebates are distributed on-chain via the RebateDistributor contract. Users can claim accumulated rebates by submitting a Merkle proof for the relevant epoch. See Settlement Contracts for contract details.
Code Examples
Fetch rebates via HTTP
curl "https://mev.yoorquezt.io/protect/rebates?originator_id=0x1234...abcd" \
-H "Authorization: Bearer $API_KEY"
Fetch rebates via WebSocket gateway
{
"jsonrpc": "2.0",
"id": 1,
"method": "mev_getProtectRebates",
"params": { "originator_id": "0x1234...abcd" }
}