What it offers
- simpleSwap: Execute a simple single-path swap via Augustus router
Notes
- Augustus V6 is deployed on every chain the registry lists; Augustus V5’s address holds the router everywhere but Base
- On Base, Augustus V5’s address is not the router: it is a small fee-splitting contract that dispatches none of the router’s functions. A call carrying no value reverts; a call carrying value,
simpleSwapincluded, succeeds without swapping, and the value goes to two accounts the contract fixed when it was deployed (98.5% and 1.5%). Do not send it anything; on Base the router is Augustus V6 - Route computation happens off-chain via ParaSwap API - callees/exchangeData come from API
- Approve srcToken to Augustus contract before swapping
Its names in a program
On Ethereum,Paraswap is a namespace: its contracts need no import.
Deployments
ABI
AugustusV5ABI
import AugustusV5ABI from "./protocols/paraswap/AugustusV5ABI.json"; Speaks for: augustusV5.
simpleSwap((address fromToken, address toToken, uint256 fromAmount, uint256 toAmount, uint256 expectedAmount, address[] callees, bytes exchangeData, uint256[] startIndexes, uint256[] values, address beneficiary, address partner, uint256 feePercent, bytes permit, uint256 deadline, bytes16 uuid) data) payable returns (uint256 receivedAmount)
0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57), whose code does not dispatch them: simpleSwap. Do not call them there: the call does not run the function, and whether it reverts is up to that code.
Next steps
- Protocols: the other protocols, by what they do.
- Protocols and tokens: calling a contract by its namespace, or through its ABI.
- Glossary: the words these pages use, in plain terms.
