> 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/how-husher-works/how-it-works/high-level-architecture.md).

# High-Level Architecture

The five-step path from wallet to executed swap, with Husher acting as orchestrator but never custodian

Husher sits between your wallet and a network of third-party execution providers. It orchestrates the swap flow only; it never touches or controls your crypto.

{% stepper %}
{% step %}

### Create a swap and receive a deposit address

You configure the swap on the web app or Telegram bot. Husher requests a unique, one-time deposit address from the selected Exchange Service Provider.
{% endstep %}

{% step %}

### Send funds directly from your wallet

You send the input asset from your own wallet to the one-time address. This address is controlled by the ESP, not by Husher.
{% endstep %}

{% step %}

### Husher monitors confirmations and execution conditions

Husher watches the deposit in real time. Execution begins as soon as network-specific confirmation thresholds are met.
{% endstep %}

{% step %}

### The ESP executes the trade against CEX spot liquidity

The Exchange Service Provider performs the swap using centralized-exchange depth from providers such as Binance, Bybit, and OKX.
{% endstep %}

{% step %}

### Output is withdrawn directly to your destination wallet(s)

The output asset is sent straight to the destination address you specified. No Husher hop, no intermediate custody.
{% endstep %}
{% endstepper %}

```mermaid
%%{init: {"theme":"base","themeVariables":{
  "background":"transparent",
  "primaryColor":"#071A2B",
  "primaryTextColor":"#FFFFFF",
  "primaryBorderColor":"#2FA4FF",
  "lineColor":"#2FA4FF",
  "secondaryColor":"#0F3A5F",
  "tertiaryColor":"#0B2A45"
}}}%%
flowchart LR
  U["User wallet<br/>Owns keys"] -->|"Sends funds"| ESP["Husher Orchestrator"]
  H["Husher<br/>Routes and monitors<br/>No custody"] -.-> ESP
  ESP -->|"Executes trade"| CEX["Centralized exchanges<br/>Liquidity only"]
  CEX --> ESP
  ESP -->|"Withdraws output"| U2["User wallet(s)<br/>Receives output"]

  classDef navy fill:#071A2B,stroke:#2FA4FF,color:#FFFFFF
  classDef mid fill:#0B2A45,stroke:#2FA4FF,color:#FFFFFF
  classDef soft fill:#0F3A5F,stroke:#2FA4FF,color:#FFFFFF

  class U,U2 navy
  class ESP mid
  class H,CEX soft
```

{% hint style="info" %}
The dashed line from Husher to the ESP represents monitoring only. Husher observes confirmation status and execution progress but has no ability to redirect or hold assets.
{% endhint %}
