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

# Payment routes

> The product. Create a standing route for a verified customer; they fund it any time, and Wayex auto-converts at the live rate the moment funds land.

A **payment route** is how money moves on Wayex. You create one standing route per customer, share its
deposit instructions, and the customer funds it — **any amount, any time**. When their funds land (and
clear finality + screening), Wayex **automatically converts at the live rate at that instant** and pays
out or sends on. There is no operator-created transfer, no quote to accept, and no locked price: the
route is the product, and a funding event is the trigger.

<Note>
  This page covers direct customer routes. For an organisation-prefunded wallet with explicit AUD
  payouts, PayID beneficiaries, quoted conversions, and stablecoin withdrawals, use
  [Treasury](/treasury/overview).
</Note>

Routes run in either direction:

* **Off-ramp** — stablecoin in, delivered as AUD to a bank account you whitelist. The route gives the
  customer a crypto **deposit address**.
* **On-ramp** — AUD in, delivered as stablecoin to a crypto destination you whitelist. The route gives the
  customer an AUD **virtual account / PayID** to pay.

## How a route moves money

<Steps>
  <Step title="You create the route">
    Set up a standing route for a verified customer (below). The route provisions and persists its
    deposit surface — the crypto deposit address (off-ramp) or the AUD virtual account / PayID
    (on-ramp).
  </Step>

  <Step title="You share the deposit instructions">
    Give the customer the route's deposit instructions. The same instructions are reused for every
    funding — a route has **one** standing deposit destination.
  </Step>

  <Step title="The customer funds it">
    The customer sends stablecoin (off-ramp) or pays AUD (on-ramp), in whatever amount they choose,
    whenever they choose. Each funding is an independent event.
  </Step>

  <Step title="Wayex auto-converts at the live rate">
    When the funds land and pass finality + screening, Wayex strikes a **fresh price at the live
    rate at that moment**, converts the exact amount that arrived at the all-in rate, withholds your
    developer fee if you have one configured, and pays out (off-ramp → AUD bank) or sends (on-ramp →
    crypto destination). Each funding shows up as its own conversion in the route's history and in
    the [activity feed](/console/activity).
  </Step>
</Steps>

<Note>
  There is no "accept a quote" step and nothing to time. The price is whatever the live rate is
  **when the customer's funds land** — never a price locked earlier. The [Rates](/console/overview)
  screen shows that live rate so you can see what a conversion would fetch right now, but it is
  indicative and never binds.
</Note>

## Routes live under a customer

Payment routes belong to a specific customer — there is no global "create route" screen. You always pick
the customer first, then create the route on that customer's detail page. The route inherits the customer
it was created under.

A route can only be created for a **verified (approved)** customer who holds the `payment_route`
entitlement. If the customer is not yet approved, the console disables the create action and explains that
verification is required first.

## Create a route

<Steps>
  <Step title="Open the customer">
    Go to **Customers**, open the customer, and scroll to the **Payment routes** section.
  </Step>

  <Step title="Start a new route">Select **New route**.</Step>

  <Step title="Choose the direction">
    Pick **On-ramp — AUD to stablecoin** or **Off-ramp — stablecoin to AUD**.
  </Step>

  <Step title="Set limits (optional)">
    Optionally set **limits** that govern what happens each time the route is funded (explained
    below).
  </Step>

  <Step title="Enter the destination">
    For an **on-ramp** route, enter the crypto destination: network, stablecoin, and destination
    address. For an **off-ramp** route, choose the deposit asset and network, then the AUD payout
    target — a bank account (account holder name, BSB, account number) or a PayID.
  </Step>

  <Step title="Create the route">
    Select **Create payment route**. The route is created and its deposit instructions are shown
    right away.
  </Step>
</Steps>

## How a funding is handled

Every funding on a route is converted **automatically**. The moment funds land — and clear finality and
compliance screening — Wayex strikes the live rate, converts, and pays out (off-ramp) or sends the
stablecoin on (on-ramp). There is no per-route mode to choose and no operator step in the normal flow.

<Note>
  Direct auto-conversion routes pay out to a **bank account**. PayID payout is available through an
  eligible Treasury account, not this direct-route flow.
</Note>

## Limits

You can set **per-funding** and **rolling** limits on a route:

* **Minimum** and **maximum** per funding — an amount below the minimum or above the maximum does not
  auto-convert.
* A **daily** cap across all fundings on the route.

Limits are **fail-closed**. If a funding falls outside a configured limit, Wayex does not convert it: the
funding is recorded and **parked on a hold** with the reason shown, and a case is opened for an operator
to review. Funds are never moved past a breached limit on their own — releasing a held funding is a
deliberate operator action.

## Deposit instructions

Each route has **deposit instructions** — the details a payer uses to fund it — visible on the route's
detail page at any time, alongside the route's direction, limits, destination, and status.

* **Off-ramp** routes show the crypto deposit address to send stablecoin to.
* **On-ramp** routes show the AUD pay-in details (the account to pay and a reference) to give to whoever
  is funding the route.

<Note>
  The console renders instruction values exactly as returned by the API. Always share the
  instructions straight from the route rather than copying them by hand. The same instructions are
  reused for every funding.
</Note>

## Conversions on a route

Each time the route is funded, that funding becomes its own **conversion** — a transfer spawned from the
route — and appears in the route's conversion history. Pricing uses the live all-in rate Wayex quotes
(Wayex's margin is inside the rate, not a separate charge). If you have configured a
[developer fee](/console/developers#developer-fees), it is withheld from the conversion — the customer
receives the net minus your fee, and the withheld amount is credited to you against your monthly Wayex
invoice. Every conversion is tracked end-to-end:

* It progresses through the same lifecycle states as any transfer — detecting the funding, confirming it,
  compliance screening, executing the conversion at the live rate, and paying out or sending on.
* **Every outcome is shown explicitly.** A funding that is held (a limit breach or a compliance
  checkpoint) or that fails is surfaced with its reason and never collapsed into "success".

Open any conversion to see its full lifecycle timeline and linked references — see
[Activity & history](/console/activity).

<Note>
  When simulation is enabled for your tenant, the route detail page includes a **Fund this route**
  control that synthesises a deposit/pay-in so you can test the lifecycle. It is a test control, not
  evidence that every sandbox funding instruction is simulated. Confirm the environment and agreed
  limit before sending external funds.
</Note>
