> For the complete documentation index, see [llms.txt](https://docs.reaper.farm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.reaper.farm/sdk/reaper-sdk/uniswap-utilities.md).

# Uniswap Utilities

### Create your trading route

Pass your input and output tokens to createRoute and it will return an array you can pass into a swap.

`reaper.createRoute(tokenInput:string, tokenOutput:string) => (route:array)`

### Swap

Execute a swap on any Uniswap V2 router

`reaper.swap(routerAddress:string, tokenInput:string, tokenOutput:string, toAddress:string, amountIn:uint, slippage:uint%)`\
`=> (transactionReceipt:object)`

### Add Liquidity

Add Liquidity to a Uniswap V2 pool.

`reaper.addLiquidity(exchangeAddress:string, tokenOne:string, tokenTwo:string,) => (transactionReceipt:object)`

### Retrieve a pair address

Retrieve an existing LP pair address. If the address doesn't exist, it will create one.

`reaper.getPairAddress(factoryAddress:string, tokenOne:string, tokenTwo:string) => (lpAddress:string)`
