Supported Protocols
MultiSub ships with parsers for the most widely-used DeFi protocols. Each parser extracts the input token and amount from protocol-specific calldata so the spending limit system can correctly account for every operation.
DEX / Aggregators
| Protocol | Parser | Supported Operations |
|---|---|---|
| Uniswap V2 | UniswapV2Parser | Swap (exact input / exact output) |
| Uniswap V3 | UniswapV3Parser | Swap (exact input / exact output, single & multi-hop) |
| Uniswap V4 | UniswapV4Parser | Swap via PoolManager |
| Universal Router | UniversalRouterParser | All Uniswap Universal Router commands |
| 1inch | OneInchParser | Aggregated swaps |
| Paraswap | ParaswapParser | Aggregated swaps |
| KyberSwap | KyberSwapParser | Aggregated swaps |
Lending / Yield
| Protocol | Parser | Supported Operations |
|---|---|---|
| Aave V3 | AaveV3Parser | Supply, withdraw, borrow, repay |
| Morpho | MorphoParser | Deposit, withdraw (ERC-4626 vaults) |
| Morpho Blue | MorphoBlueParser | Supply, withdraw, borrow, repay |
Reward Distribution
| Protocol | Parser | Supported Operations |
|---|---|---|
| Merkl | MerklParser | Claim rewards (multi-token, multi-protocol) |
Merkl claims use the CLAIM operation type, which bypasses spending checks — claiming rewards never costs allowance. See Claim-Only Sub-Account for a full walkthrough.
Adding a New Protocol
To add support for a protocol not listed above:
- Implement
ICalldataParser— parsetokenInandamountfrom the target function's calldata. - Deploy the parser — deploy the contract to your network.
- Register selectors — call
registerSelector(selector, operationType, parserAddress)from the Safe for each function the sub-account should be able to call. - Add to allowlist — call
setAllowedAddresses(subAccount, [protocolAddress], true)from the Safe.
All four steps require Safe multisig approval, ensuring no new protocol can be added unilaterally by a sub-account.
Chainlink Price Feed Coverage
The Chainlink CRE oracle computes portfolio value using Chainlink price feeds. It natively supports:
- ERC-20 tokens with Chainlink USD feeds
- Aave aToken positions (unwrapped to underlying)
- Morpho vault shares (redeemed to underlying)
- Uniswap LP positions
- 100+ major tokens across mainnet and L2s