# Key Concepts

## Overview

These concepts are functionalities that persist throughout Squid's Widget, API, and SDK that enable a seamless cross-chain experience for both users and developer. Please read through each feature to understand how they are implemented across Squid&#x20;

## Squid Functionality

The functionality of the Squid boils down to **3 main functionalities**:

1. [**Route Requests**](https://docs.squidrouter.com/old-v2-documentation-deprecated/key-concepts/get-a-route)**(Fetching a Route):** Calculating the most optimized path from one asset to another.
2. [**Route Execution**](https://docs.squidrouter.com/old-v2-documentation-deprecated/key-concepts/execute-the-route)**:** The submission and execution of that path on chain.
3. [**Transaction Status**](https://docs.squidrouter.com/old-v2-documentation-deprecated/key-concepts/track-status)**:** The validation that the transaction has been completed.

There are **3 advanced functionalities** enhance Squid's API capabilities:

1. [**Transaction Hooks**](https://app.gitbook.com/o/bX90yMGYDBu3T1Hqg4EA/s/tXbXyuWIO2PwzNc5Dets/) **(Pre/Post):** Allow transactions to be prepended(prehook) or appended(posthook) to asset transfers for a user. Think unstaking then transferring an asset or transfering an asset across chain then staking.
2. [**Boost:** ](https://docs.squidrouter.com/old-v2-documentation-deprecated/key-concepts/boost)Squids novel boost functionality allows cross-chain transactions to be settled in less than 20seconds by using an intent-model, a smart contract overlay which allows a provider to optimistically fulfill a transaction.
3. [**Collecting Fees**](https://docs.squidrouter.com/old-v2-documentation-deprecated/key-concepts/collect-fees-1)**:** Always integrators to collect fees associated with transactions. Note, this function is currently not available for v2 yet.
