> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Connections

> The wallets, exchange accounts, and payment sources Fireblocks Flow connects, and which of them work on their own or as part of a Flow payment.

A **connection** is the wallet, exchange account, or address on the user's side of Fireblocks Flow. Some connections work on their own, with no payment attached, and some exist only as the source of a [Flow payment](https://docs.dynamic.xyz/docs/flow/payments.md).

## The kinds

| Kind | What the user does | Standalone | As part of a Flow payment |
| - | - | - | - |
| [Wallet, native](https://docs.dynamic.xyz/docs/external-wallets/native.md) | Connects a wallet they own, inside your app | Authenticates the user | Signs the payment |
| [Wallet, hosted](https://docs.dynamic.xyz/docs/connections/overview.md) | Connects a wallet on a page you send them to | Authenticates the user | Signs in headless mode |
| [Exchange account](https://docs.dynamic.xyz/docs/flow/exchange-connections.md) | Authorises an account by OAuth | Reads balances, sends a direct withdrawal | Not used |
| [Exchange purchase](https://docs.dynamic.xyz/docs/flow/payment-sources.md#exchange) | Buys and pays on an exchange through a purchase link | Not available | Funds the payment, with no signing in your app |
| [Deposit address](https://docs.dynamic.xyz/docs/flow/payment-sources.md#deposit-address) | Sends funds to an address generated for the payment | Not available | The only way it exists |

A wallet connects the same way whether a payment is involved or not, so you can adopt it with no transfer attached. A linked exchange account is a standalone connection and does not fund a Flow payment. An exchange purchase and a deposit address exist only as the source of a payment. [Payment sources](https://docs.dynamic.xyz/docs/flow/payment-sources.md) compares the sources a payer can pay from.

### Wallets

A wallet the user already owns: MetaMask, Phantom, Rainbow, a Ledger. These are externally owned accounts, and they differ from [embedded wallets](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/overview.md), which Dynamic creates and the user does not have to install.

There are two routes to connecting one. The choice is about where the wallet UI lives rather than what the user ends up with:

| | [Native](https://docs.dynamic.xyz/docs/external-wallets/native.md) | [Hosted](https://docs.dynamic.xyz/docs/connections/overview.md) |
| - | - | - |
| Dynamic SDK in your client | Required | Not needed |
| Wallet UI | You build it | Provided |
| User leaves your app | No | Yes, by redirect |
| Signing | Yes | Address by redirect; signing in headless mode |
| Platforms | Web, iOS, Android, Flutter, Unity | Web, iOS, Android, React Native, Flutter |
| Availability | All plans | Enterprise |

You can use both. Native in your main app, hosted where building a picker is not worth it or where you cannot add an SDK.

[Supported wallets](https://docs.dynamic.xyz/docs/external-wallets/supported-wallets.md) lists which wallets work on which chains, and the standards behind them.

### Exchange accounts

The user authorises an exchange account rather than a wallet. That authorisation lets you read balances and send a direct withdrawal, with no on-chain wallet involved. A linked exchange account does not fund a Flow payment. A payer who wants to pay from an exchange uses an [exchange purchase link](https://docs.dynamic.xyz/docs/flow/payment-sources.md#exchange) instead, which needs no linked account.

See [Exchange connections](https://docs.dynamic.xyz/docs/flow/exchange-connections.md) for which exchanges, how authorisation works, and what you can do once an account is connected.

### Deposit addresses

The one option that connects nothing. A unique address is generated for each payment, and the user sends funds to it. That suits a payer coming from a centralised exchange, a cold wallet, or any context where connecting is impractical. The inbound transfer is detected automatically. Show the address as a QR code, or let the user copy it.

Because nothing is connected and nothing is signed in your app, a deposit-address payment skips the signing steps of the [payment lifecycle](https://docs.dynamic.xyz/docs/flow/lifecycle-walkthrough.md). Supported on BTC, SOL, EVM, and TRON.

## Choosing

For a Flow payment, the payment source is chosen per payment rather than per product, so you can offer several and let the payer pick.

The practical split: a **wallet** when your payers are crypto-native and arrive with a wallet, an **exchange** when they keep funds on an exchange such as Coinbase, and a **deposit address** as the fallback that works from anywhere without asking anyone to connect. [Payment sources](https://docs.dynamic.xyz/docs/flow/payment-sources.md#choosing-which-sources-to-offer) covers the choice in detail.

[Flow UI](https://docs.dynamic.xyz/docs/flow/ui.md) describes the interfaces you can give users for connecting a wallet and paying, including prebuilt React components.

## Next

> [card] [Conversion](https://docs.dynamic.xyz/docs/flow/conversions.md)
>
> What happens when the connected source holds something other than what you settle in.

> [card] [Payment sources](https://docs.dynamic.xyz/docs/flow/payment-sources.md)
>
> What a payer can pay from in a Flow payment, and which sources are screened.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.