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

# Pre-Fill Swap

> Pre-fill swap behavior for reserve assets before destination transfer.

Solvers exclusively hold reserve assets to simplify accounting and minimize risk exposure. The Pre-Fill-Swap section is highlighted in the diagram
below. It illustrates an intermediary step in order fulfillment process that occurs **when requested assets are not [reserve
assets](dln-details/dln-specifics/reserve-assets)**.

```mermaid theme={null}
sequenceDiagram
    participant DlnDestination
    participant SwapService
    actor Beneficiary
    
    activate DlnDestination
    alt reserveAssetsWanted == false
        note right of DlnDestination: Pre-Fill Swap
        DlnDestination ->> SwapService : swapReserveToWanted()
        activate SwapService
        SwapService -->> DlnDestination : wantedAssets
        deactivate SwapService
    else
        note right of DlnDestination: No swap needed
    end
    DlnDestination ->> Beneficiary : transferWantedAssets(amount)
    deactivate DlnDestination
```

When the order requests [reserve assets](dln-details/dln-specifics/reserve-assets), this swap step is skipped, as solvers are expected to maintain
sufficient balances of reserve assets at all times.

The DLN supports requesting arbitrary assets on the destination chain. When **requested assets are not reserve assets**, the solver performs a
**Pre-Fill-Swap**, which is similar in concept to a [Pre-Order-Swap](/dln-details/dln-specifics/bridging-non-reserve-assets#pre-order-swap), but
reversed. In this case, the solver swaps [reserve assets](dln-details/dln-specifics/reserve-assets) for the requested assets and transfers the
guaranteed amount to the beneficiary address on the destination chain specified in the order.
