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

# How-to: Fulfill a trade as a maker

> Review, sign, and fund confirmed trades from the maker view in the StableFX Console.

As a maker in the StableFX Console, you switch to the maker view to see trades
where you are the counterparty, sign confirmed trades with your EVM wallet to
authorize fulfillment, then fund your side of the settlement so the FxEscrow
contract can settle the trade onchain.

## Prerequisites

Before you begin:

* You have an active StableFX account with
  [**Maker** access](/stablefx/references/console-roles-permissions).
* You have connected an EVM-compatible wallet to Arc (testnet or mainnet). See
  [Connect your wallet](/stablefx/howtos/connect-wallet-console).
* You have funded your wallet with sufficient token balance for the trade amount
  plus [collateral](/stablefx/concepts/risk-buffers).
* You have approved the Permit2 contract for your funding token. See
  [Grant USDC allowance to Permit2](/stablefx/howtos/grant-usdc-allowance-permit2).

## Switch to maker view

The console defaults to the Taker view. To switch:

1. Navigate to the **Overview** or **Trades** page.
2. In the left sidebar, click the **account type dropdown** (labeled "Taker" or
   "Maker").
3. Select **Maker**.

The page refreshes to show maker-specific data. The trades table now displays
trades where you are the counterparty.

<Note>
  Your account type selection is stored as a session preference. It persists
  across page loads but resets when you switch browsers or clear cookies.
</Note>

## Review confirmed trades

In the **Trades** page (maker view), look for trades with `confirmed` status.
These are trades where a taker has accepted a quote and created the trade, but
the maker has not yet signed.

Click on a confirmed trade to open the **Trade Details** side panel. The panel
has two tabs:

<Frame caption="Trade details showing amounts, rate, collateral, fee, and status">
  <img src="https://mintcdn.com/circle-167b8d39/HM4XcUeNobQEQ2YB/stablefx/images/trade-details.png?fit=max&auto=format&n=HM4XcUeNobQEQ2YB&q=85&s=4138fa1f1268bd84de8f9fc3e024c066" width="508" height="880" data-path="stablefx/images/trade-details.png" />
</Frame>

* **Details**: Shows the trade terms (currency pair, amounts, rate, fee,
  collateral, tenor, and maturity time).
* **Activity**: Shows the settlement path and onchain transaction history.

<Note>
  In the maker view, the console swaps the display of trade direction to match
  your perspective: the top of the trade card shows the currency and amount you
  are delivering, and the bottom shows what you receive. This is the inverse of
  the taker's view for the same trade.
</Note>

## Sign the trade

Signing a trade confirms your intent to fulfill it. This is required before
either party can fund.

<Steps>
  <Step title="Click Sign">
    In the trade details panel, click **Sign**. The console opens the signing flow.
  </Step>

  <Step title="Connect your wallet">
    If your wallet is not already connected, the console prompts you to
    [connect it](/stablefx/howtos/connect-wallet-console). The wallet address
    you connect is the address that will fund and receive settlement tokens.
  </Step>

  <Step title="Review and sign">
    Your wallet displays EIP-712 typed data containing the trade details. Review:

    * The token amounts and currencies
    * The trade ID and contract trade ID
    * The spender (FxEscrow contract address)

    Confirm the signature in your wallet.
  </Step>

  <Step title="Confirm submission">
    The console submits your signature. The trade status updates to
    `pending_settlement`, meaning both sides can now fund.
  </Step>
</Steps>

### Manual signature option

If you prefer to sign outside the console:

1. Click **Sign manually** to view the raw EIP-712 typed data (the "presign"
   data).
2. Copy the typed data and sign it with your preferred signing tool.
3. Return to the console, click **Register signature**, paste the signature, and
   submit.

<Tip>
  Makers who integrate via [Talos](/stablefx/concepts/maker-talos-integration)
  can receive trade notifications directly and sign via the API. The console
  provides a complementary manual interface.
</Tip>

## Fund the trade

After both parties have signed, the trade moves to `pending_settlement`. You can
now fund your side.

<Steps>
  <Step title="Open the trade">
    On the Trades page, click a trade with `pending_settlement` or
    `taker_funded` status.
  </Step>

  <Step title="Click Fund">
    In the trade details panel, click **Fund**. The funding side panel opens.
  </Step>

  <Step title="Choose funding mode">
    As a maker, you can choose a **funding mode**:

    * **Gross**: Fund each trade individually at its full amount.
    * **Net**: Fund the net position across multiple trades. To fund net across
      multiple trades, see
      [Settle trades in batch](/stablefx/howtos/settle-trades-console).
  </Step>

  <Step title="Review deliverables and receivables">
    The panel shows:

    * **Deliverables**: The tokens and amounts you send to the FxEscrow contract.
    * **Receivables**: The tokens and amounts you receive after settlement.
  </Step>

  <Step title="Sign and submit">
    Click **Fund Trade**. Your wallet prompts you to sign Permit2 typed data.
    Permit2 is a token-approval contract that lets you authorize token transfers
    with a single offchain signature rather than a separate onchain approve
    transaction. Confirm in your wallet.
  </Step>
</Steps>

Once you fund, the trade status updates:

* If the taker has already funded → trade moves to `complete`.
* If the taker has not funded yet → trade moves to `maker_funded`, and the taker
  must fund before the maturity deadline.
* If the maturity deadline passes before both sides fund → trade moves to
  `breaching` and then `breached`.

<Warning>
  **If your wallet rejects or the signing flow fails**: Close the panel and reopen
  the trade to restart the signing or funding step. No state is written onchain
  until you confirm in your wallet, so the trade remains in its current status.

  **If the trade reaches its maturity deadline before both parties fund**: The
  trade is no longer eligible for settlement and moves to `breached` status. You
  must create a new trade.
</Warning>

## See also

* [Settle trades in batch](/stablefx/howtos/settle-trades-console)
* [Trade states](/stablefx/references/trade-states)
* [Risk buffers](/stablefx/concepts/risk-buffers)
