General Questions
What is Borrow Recovery?
What is Borrow Recovery?
Borrow Recovery is a recovery UI for discovering and operating EVM ZeroDev Kernel loan wallets if Sats Terminal ceases to exist or the hosted service is unavailable.It’s a frontend-only application that:
- Has no backend signer
- Has no database
- Has no paymaster abstraction
- Requires all signatures to happen in your connected wallet
- Derive deterministic ZeroDev Kernel v3.3 smart account addresses from your EOA + wallet index
- Scan index ranges across chains to find deployed loan wallets
- Read balances and loan data from Aave and Morpho
- Submit rescue actions through ERC-4337 UserOperations
Which chains are supported?
Which chains are supported?
Borrow Recovery currently supports the following EVM chains:
- Ethereum (Chain ID:
1) - Base (Chain ID:
8453) - Arbitrum (Chain ID:
42161) - BNB Chain (Chain ID:
56)
Which protocols are supported?
Which protocols are supported?
Borrow Recovery supports the following lending protocols:Aave V3:
- Full support for reading positions and executing rescue actions
- Available on all supported chains
- Actions: Repay debt, Withdraw collateral
- Full support for reading positions and executing rescue actions
- Market ID:
0x9103c3b4e834476c9a62ea009ba2c884ee42e94e6e314a26f04d312434191836 - Actions: Repay debt, Withdraw collateral
- Transfer collateral token balances out of the loan wallet
Do I need to paste my private key?
Do I need to paste my private key?
No. Never paste or type private keys into Borrow Recovery.Here’s the correct workflow:
- Export your private key from the Sats Terminal dashboard
- Import that private key into MetaMask, Rabby, or another EIP-1193 compatible wallet
- Connect that imported wallet to the Borrow Recovery UI using the wallet connection button
What is a wallet index?
What is a wallet index?
A wallet index (also called wallet ID) is a number used to deterministically derive your loan wallet address from your EOA (Externally Owned Account).
- Each index generates a unique ZeroDev Kernel smart account address
- You receive this wallet ID in the loan activation email when your loan is completed
- If you don’t know your wallet index, use the
/scanpage to discover it - You can scan up to 2,000 indices per scan
- Once you know the index, you can navigate directly to
/wallet/<wallet-id>(e.g.,/wallet/12)
Why do I need a ZeroDev Project ID?
Why do I need a ZeroDev Project ID?
A ZeroDev Project ID is required to submit rescue UserOperations (transactions) through the ERC-4337 bundler infrastructure.You need it for:
- Executing repay actions
- Executing withdraw actions
- Transferring tokens from the loan wallet
- Connecting your wallet
- Scanning for wallet indices
- Viewing loan positions and balances
- Go to https://dashboard.zerodev.app/projects/general and sign in
- Open your project (or create one if none exists)
- Copy the Project ID from the top-right of the project page
What happens if I don't have enough gas?
What happens if I don't have enough gas?
If your loan wallet doesn’t have enough native gas tokens, rescue actions will fail.To fix this:
- Copy the loan wallet address from the
/wallet/<index>page - Send native gas tokens to that address from another wallet:
- Ethereum: ETH
- Base: ETH
- Arbitrum: ETH
- BNB Chain: BNB
- Wait for the transaction to confirm
- Reload positions to verify the gas balance
- Execute your rescue action
No API key is required for reading positions onchain. Gas is only needed when executing rescue actions.
Can I use WalletConnect?
Can I use WalletConnect?
Yes, but it’s optional. WalletConnect support requires setting a project ID:
- Get a WalletConnect Project ID from https://cloud.walletconnect.com/
- Add it to your
.env.localfile:
How do repay actions work?
How do repay actions work?
Repay actions send 2 separate UserOperations:
- Approve: Approves the repay token to the lending pool
- Repay: Executes the actual repay transaction
- When using “Repay all”, keep a little extra loan token in the wallet
- Interest accrues in real time, so debt increases slightly before execution
- Consider adding 0.5-1% extra to account for accrued interest
- You’ll need to sign both UserOperations in your wallet
How do withdraw actions work?
How do withdraw actions work?
Withdraw actions send 1 UserOperation to withdraw collateral from the lending protocol.
- You can choose to withdraw all collateral or a custom amount
- Ensure the withdrawal won’t leave your position unhealthy (if you still have debt)
- The collateral will be withdrawn to your loan wallet address
- After withdrawing, use the “Transfer all to connected wallet” button to move tokens to your EOA