> For the complete documentation index, see [llms.txt](https://docs.husher.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.husher.io/documentation/security/security/fund-flow.md).

# Fund Flow

Funds move from your wallet to the ESP to your destination wallet, never touching Husher

Husher operates a strict non-custodial execution flow. At no point do funds enter or pass through any address controlled by Husher. The path is direct: from your wallet, to the Exchange Service Provider, to your destination wallet.

### The execution process

{% stepper %}
{% step %}

### Send from your wallet

You send funds from your wallet to a one-time deposit address. That address is generated by the Exchange Service Provider (ESP) selected for your swap, not by Husher.
{% endstep %}

{% step %}

### ESP receives and executes

The ESP receives the input and executes the trade against external centralized-exchange spot liquidity. Temporary custody exists only at the ESP level and only for the duration of the swap, typically seconds to minutes.
{% endstep %}

{% step %}

### Output delivered to your wallet

The output is sent directly from the ESP to the destination wallet or wallets you specified. Husher does not relay, hold, or pass through the output funds.
{% endstep %}
{% endstepper %}

### Fund flow diagram

```mermaid
%%{init: {"theme":"base","themeVariables":{
  "primaryColor":"#0B2A45","primaryTextColor":"#FFFFFF","primaryBorderColor":"#2FA4FF",
  "lineColor":"#2FA4FF","secondaryColor":"#0F3A5F","tertiaryColor":"#071A2B"}}}%%
flowchart LR
    A["Your wallet<br/>(input asset)"]
    B["One-time ESP<br/>deposit address"]
    C["CEX spot<br/>execution"]
    D["Your wallet<br/>(output asset)"]
    A -- "You send" --> B
    B -- "ESP executes" --> C
    C -- "ESP delivers" --> D
```

{% hint style="info" %}
Husher never takes custody of user funds. For the full execution flow and custody boundaries, see [**How Husher Works**](/documentation/how-husher-works/how-it-works.md).
{% endhint %}

### Why the one-time address matters

Each swap uses a freshly generated deposit address tied to that order. This address is controlled by the ESP, not Husher. Once the swap completes, the address is no longer active. This eliminates persistent platform-held wallets as a target and means there is no standing Husher address that could be drained.
