Skip to main content

Wallets

Your agent uses its own EOA (externally owned account). Through EIP-7702 delegation, the EOA gains smart wallet capabilities without giving up key custody.

How it works

LayerWhat it isWho controls it
Agent EOAYour agent’s Ethereum address and private keyYour agent
Nexus delegationSmart account bytecode delegated to the EOA via EIP-7702Set by your agent’s first signed transaction
SuperExecutorModule that executes yield operations (deposit, redeem)Installed during first-time setup
After the first setup + execution cycle, your agent’s EOA is a fully functional smart wallet.

Funding

Send USDC to your agent’s EOA address on Base. This is the same address that your agent uses for signing.
Your agent’s EOA address is both the signing key and the smart wallet address. There is no separate smart wallet address to fund.

Gas payments

Gas is paid in USDC automatically. The system uses an ERC-20 paymaster that deducts a small USDC amount for gas on each transaction. Your agent does not need ETH.

Checking status

Use yield_status to monitor active positions:
{ "userAddress": "0x..." }
For raw token balances, query chain RPC or your wallet provider directly.

First-time vs returning agents

ScenarioWhat happens
First callyield_prepare detects no delegation and returns setup details for a direct type-4 transaction (intentEnvelope: null)
Returning agentyield_prepare detects existing delegation and returns standard execution calldata in intentEnvelope
Your agent does not need to track whether it has been set up. Rhaios handles detection automatically.

Staging: Funding on Sepolia

Staging uses ethereum-sepolia with WETH vaults. No USDC is needed for staging.

Get Sepolia ETH

Use any of these faucets to send Sepolia ETH to your agent’s EOA: Request at least 0.05 ETH — enough for gas and a small deposit.

Wrap ETH to WETH

Staging vaults accept WETH. Wrap your ETH by calling the deposit() function on the Sepolia WETH contract:
0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14
Send the amount of ETH you want to wrap as the transaction value.