> For the complete documentation index, see [llms.txt](https://allblue-docs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://allblue-docs.gitbook.io/docs/en/allblue-v3/core-contracts/poolrouter.md).

# PoolRouter

PoolRouter is the primary Swap routing contract for AllBlue V3.

It routes Swap transactions through one or more V3 Pools depending on the selected path.

### Key Functions

| Function                 | Description                                                       |
| ------------------------ | ----------------------------------------------------------------- |
| `exactInputSingle(...)`  | Executes a Swap through a single Pool using an exact input amount |
| `exactInput(...)`        | Executes a multi-hop Swap using an exact input amount             |
| `exactOutputSingle(...)` | Executes a Swap through a single Pool for an exact output amount  |
| `exactOutput(...)`       | Executes a multi-hop Swap for an exact output amount              |

PoolRouter can route transactions through multiple supported Pools when required.
