# Choose How To Integrate Squid

{% tabs %}
{% tab title="Widgets" %}
Customisable React or iframe widgets built for specific user flows.  Recommended in most cases.

* Fastest to implement &#x20;
* Customisable themes
* Customisable supported tokens, hooks etc
* Multi-chain wallet management
* Handle all edge cases regarding cross-chain UX.
* Different widgets for Swap & Bridge, Staking, Checkout

<figure><img src="https://4247625265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtXbXyuWIO2PwzNc5Dets%2Fuploads%2FajRORYStWdHH9jOLKrSj%2FScreenshot%202023-10-07%20at%207.17.03%20pm.png?alt=media&#x26;token=f2d7a6bb-1489-4b4e-b56a-a454eda9b065" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="SDK" %}
All the main Squid functions, and some more helpers, in typescript, at your fingertips. Get full control of your UI.

```typescript
const route = await squid.getRoute(params)

const fromToken = squid.tokens.find(
  (t) =>
    t.symbol.toLocaleLowerCase() === "USDC" && t.chainId === "1"
);
```

{% endtab %}

{% tab title="API" %}
Write your own client code for Squid.

Best for traders, wallets, mobile apps, or anyone who prefers not to use Javascript and ethers/wagmi etc.

```typescript
const getRoute = async (params: any) => {
	const result = await axios.get('https://api.squidrouter.com/v1/route', {
		params: params,
		headers: {
			'x-integrator-id': integratorId,
		},
	});
	return result.data;
};
```

{% endtab %}
{% endtabs %}

<figure><img src="https://4247625265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtXbXyuWIO2PwzNc5Dets%2Fuploads%2FGtxnyxuU8wMVusoqOCZO%2Fimage.png?alt=media&#x26;token=6144ad88-c2cb-4109-92cd-be7a874c1d74" alt=""><figcaption></figcaption></figure>
