Skip to main content

EVM Integration (Ethereum, Polygon, Base)

On EVM chains, the signing and submission flow differs from Solana. This guide covers the key differences.

Multi-Transaction Operations

On EVM chains, supply operations return two transactions that must be signed and submitted in order:
  1. Approve transaction — Authorizes the protocol to spend your USDC
  2. Supply transaction — Deposits USDC into the yield strategy

Unsigned Transaction Format

EVM unsigned transactions are returned as JSON objects with these fields:
FieldTypeDescription
tostringContract/recipient address
datastringEncoded call data (hex string)
valuestringNative token value in wei (usually '0')
gasLimitstringGas limit
maxFeePerGasstringEIP-1559 max fee per gas
maxPriorityFeePerGasstringEIP-1559 priority fee per gas
noncenumberTransaction nonce
chainIdnumberChain ID for replay protection

Signing with ethers.js

Key Differences from Solana

SolanaEVM
Transactions per supply12 (approve + supply)
Transaction formatBase64-encodedHex-encoded
transactionId on submitOptionalRequired
Gas tokenSOLETH / POL / ETH (Base)
The transactionId parameter is required when submitting EVM transactions because operations contain multiple transactions. It tells RebelFi which transaction you are submitting. For Solana single-transaction operations, it is optional.

Complete EVM Example

Next Steps

Wallet Profiles

Configure EVM chains in your wallet profile

Fireblocks Integration

Sign EVM transactions with Fireblocks custody

Integration Tutorial

Complete E2E walkthrough