This guide walks you through Sepehr end to end on the Arbitrum Sepolia testnet. You will subscribe, open a borrow position on Aave V3, protect it, then push it below your threshold on purpose and watch the keeper rescue it.
Everything happens on a test network. The tokens have no value, nothing is real, you cannot lose anything. Never put a mainnet key or mainnet funds on this wallet.
Allow about 30 minutes, plus a day's wait if you want a second trip to the USDC faucet (see §2).
1. What you need
- A browser wallet: MetaMask, Rabby or similar. A wallet kept for testing is best.
- The Arbitrum Sepolia network (chainId
421614). Most wallets add it on their own when the app asks. Otherwise, add it from chainlist.org/chain/421614. - Some test ETH for gas: 0.01 ETH is plenty. Possible faucets:
- Alchemy, which asks for a small balance on Ethereum mainnet;
- Chainlink;
- or Sepolia ETH moved to Arbitrum Sepolia through the official bridge.
- Test USDC: on faucet.circle.com, pick USDC, then Arbitrum Sepolia, and paste your address. The public faucet sends 10 USDC per request, once every 24 hours.
2. How much USDC?
- The Shield plan costs 4.50 USDC per month on the testnet. The price on the Plan page is read from the contract: that one is authoritative.
- The Aave position can be tiny: the testnet has no minimum amount.
One trip to the faucet (10 USDC) covers the subscription and leaves 5.50 USDC for the Aave position. That is enough to test everything. If you would rather have a roomier position, come back to the faucet the next day before step 5.
3. Open the app
- Open the test app: app.sepehr.app. Announcements go out on the Telegram channel t.me/SepehrProtocol and on X @SepehrFi.
- Connect your wallet and accept the switch to Arbitrum Sepolia.
4. Subscribe to Shield
- Go to the Plan page (
/app/plan). - Leave billing on monthly.
- On the Shield card, click Upgrade to Shield.
- Your wallet asks for two confirmations:
- the approval to spend the plan's price;
- the subscription itself (
subscribe).
Once both transactions confirm, the dashboard shows Plan: Shield.
Invited to the closed beta? Your address may already hold the Titan plan, granted by the Sepehr team. The dashboard then shows Plan: Titan: skip this step.
5. Open a position on Aave V3
- Go to app.aave.com and connect the same wallet.
- Turn on testnet mode: settings menu, Testnet mode.
- In the market list, pick Arbitrum Sepolia.
- Supply your USDC. Check that it is Circle's USDC (
0x75fa…AA4d, full address in §10). - Borrow USDC worth about half your deposit, for example 2.75 USDC against 5.50 USDC supplied.
Your health factor (HF) is then about 1.6. On this market, USDC has an 80% liquidation threshold, so HF = 0.8 × deposit ÷ debt.
Supply and borrow the same asset, USDC. On this testnet, Sepehr only rescues positions whose debt and collateral are the same token. Rescuing a mixed position (say WETH supplied, USDC borrowed) goes through a Uniswap swap, and the Uniswap router deployed on Arbitrum Sepolia lacks the interface Sepehr calls. On Arbitrum One, these rescues work.
6. Protect the position
Back on Sepehr, go to Settings (
/app/settings), Protection card.On the Aave v3 (Arbitrum Sepolia) row, click Protect.
Set the three parameters:
Parameter What it does Limits HF threshold The keeper rescues the position below this health factor. 1.20 minimum Max slippage Largest price impact accepted during the swap. 3% maximum Repay share Share of the debt one rescue repays. 50% maximum, 25% by default For this test, set HF threshold to 1.30 and keep the other defaults.
Confirm. The app runs two transactions in a row:
- Grant the delegation on Aave v3 (Arbitrum Sepolia): you allow Sepehr's Aave adapter to move your aUSDC. That is what lets it withdraw collateral during a rescue.
- Enable protection on Aave v3 (Arbitrum Sepolia): you record your parameters in the SepehrCore contract.
The row then shows as protected. The keeper picks it up within seconds.
7. Trigger a rescue
- Go back to Aave.
- Borrow more USDC until your HF drops below 1.30: a debt of about 65% of your deposit gives an HF close to 1.23. Aave shows the resulting HF before you confirm.
- The keeper checks positions every 15 seconds. Within a minute, it calls
SepehrCore.execute, which:- borrows USDC through a flash loan;
- repays the share of your debt set by Repay share;
- withdraws the same amount of collateral, plus fees, to pay back the flash loan.
- On Aave, your debt and your deposit went down, and your HF climbed back above your threshold.
- On Sepehr, the History page (
/app/history) lists the rescue. Its transaction link leads to theTriggeredevent on Arbiscan.
After a rescue, the position waits 1 hour before it can be rescued again.
Careful: USDC has an 80% liquidation threshold. If you borrow the maximum in one go, your HF falls to about 1.04. The rescue still happens, but keep a margin so the test stays easy to follow.
8. Stop everything
In Settings, Protection card:
- Click Disable.
- Tick Also revoke the delegation to also withdraw the permission given to the adapter. This adds one transaction.
On Aave, repay your debt (Repay), then withdraw your deposit (Withdraw).
9. Report a problem
Use Feedback in the app's top bar, or write to hello@sepehr.app. Include:
- your wallet address;
- the hash of the transaction involved, if any;
- a screenshot;
- your browser and wallet.
Do not report a security flaw in public: write to security@sepehr.app.
10. Testnet addresses
All on Arbitrum Sepolia, viewable on sepolia.arbiscan.io.
| Contract | Address |
|---|---|
| SepehrCore | 0x3a804C535E32aE6C15419cf7808D517915A4163c |
| Sepehr's Aave V3 adapter (the one that receives the delegation) | 0x396471bf2466E7f37C4091f3f76Efce47c991c1b |
| USDC (Circle) | 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d |
| aUSDC (aArbSepUSDC) | 0x460b97BD498E1157530AEb3086301d5225b91216 |
| Aave V3 Pool | 0xBfC91D59fdAA134A4ED45f7B584cAf96D7792Eff |
| Keeper | 0x33Db6eD6C6203967B090DeE9065eB8e1f7063C62 |
This testnet differs from the coming mainnet in a few ways:
- the admin timelock is 5 minutes instead of 48 hours;
- Sepehr's oracle prices are simulated;
- only Aave V3 is wired, since Compound V3 and Morpho Blue have no Arbitrum Sepolia deployment;
- a single keeper runs, operated by the Sepehr team: it may be stopped during maintenance.