---
title: "Create a new gateway order."
method: POST
path: "/v1/create-order"
tags: ["v1"]
---

# Create a new gateway order.

`POST /v1/create-order`

Creates a new request, reserves the required liquidity.

## Request body

- union — Gateway quote.
  - object
    - `onramp` GatewayOnrampQuote, required
      - `affiliateAddress` string, nullable — Affiliate address
      - `dstChain` string, required — Destination chain
      - `dstToken` string, required — Destination token address
      - `estimatedTimeInSecs` integer, nullable — Estimated time in secs to complete the Order
      - `executionFees` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `feeBreakdown` GatewayOnrampFeeBreakdown, required
        - `affiliateFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
        - `executionFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
        - `layerzeroFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
        - `protocolFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
        - `solverFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
      - `fees` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `gasRefill` string, nullable — Optional gas refill amount
      - `inputAmount` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `outputAmount` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `recipient` string, required — Recipient address
      - `sender` string, nullable — Sender address
      - `slippage` string, required — Slippage tolerance
      - `strategyAddress` string, nullable
      - `strategyMessage` string, nullable
      - `token` string, required — Token address
  - object
    - `offramp` GatewayOfframpQuote, required
      - `affiliateAddress` string, nullable
      - `estimatedTimeInSecs` integer, nullable — Estimated time in secs to complete the Order
      - `feeBreakdown` GatewayOfframpFeeBreakdown, required
        - `affiliateFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
        - `fastestFeeRate` string, required
        - `inclusionFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
        - `protocolFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
        - `solverFee` GatewayTokenAmount, required
          - `address` string, required
          - `amount` string, required
          - `chain` string, required
      - `fees` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `inputAmount` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `outputAmount` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `recipient` string, required
      - `sender` string, nullable
      - `slippage` integer, required
      - `srcChain` string, required
      - `tokenAddress` string, required
      - `txTo` string, required
  - object
    - `layerZero` GatewayLayerZeroQuote, required
      - `estimatedTimeInSecs` integer, nullable — Estimated time in secs to complete the Order
      - `fees` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `inputAmount` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `outputAmount` GatewayTokenAmount, required
        - `address` string, required
        - `amount` string, required
        - `chain` string, required
      - `recipient` string, required
      - `sender` string, nullable
      - `tx` TxInfo, required
        - `chain` string, required
        - `data` string, required
        - `to` string, required
        - `value` string, required

## Response `201`

Created order

- union — Created new Gateway order
  - object
    - `onramp` object, required
      - `address` string, required — Bitcoin address to pay to
      - `op_return_data` string, nullable — Optional OP_RETURN data
      - `order_id` string, required — Unique order id
      - `psbt_hex` string, required — Hex-encoded Bitcoin PSBT
  - object
    - `offramp` object, required
      - `order_id` string, required — Unique order id
      - `tx` TxInfo, required
        - `chain` string, required
        - `data` string, required
        - `to` string, required
        - `value` string, required
  - object
    - `layerZero` object, required
      - `order_id` string, required — Unique order id
      - `tx` TxInfo, required
        - `chain` string, required
        - `data` string, required
        - `to` string, required
        - `value` string, required

## Changes

- **2026-03-05** `a6065adb7d74` — 1 breaking, 1 info
  - removed `subschema #1, subschema #2, subschema #3` from the request body `oneOf` list
  - added `subschema #1, subschema #2, subschema #3` to the request body `oneOf` list
- **2026-03-05** `2e78148bdade` — 1 breaking, 1 info
  - removed `subschema #1, subschema #2, subschema #3` from the request body `oneOf` list
  - added `subschema #1, subschema #2, subschema #3` to the request body `oneOf` list
- **2026-02-27** `a0817a4b88f9` — 1 breaking, 1 info
  - added the new required request property `oneOf[subschema #3]/layerZero/recipient`
  - added the new optional request property `oneOf[subschema #3]/layerZero/sender`
- **2026-02-24** `665205955716` — 1 breaking, 1 info
  - removed `subschema #1, subschema #2, subschema #3` from the request body `oneOf` list
  - added `subschema #1, subschema #2, subschema #3` to the request body `oneOf` list
- **2026-02-20** `8b8f903ea7dd` — 2 breaking, 2 info
  - removed `subschema #1, subschema #2, subschema #3` from the request body `oneOf` list
  - added `subschema #2, subschema #3` to the response body `oneOf` list for the response status `201`
  - added `subschema #1, subschema #2, subschema #3` to the request body `oneOf` list
  - removed `subschema #2, subschema #3` from the response body `oneOf` list for the response status `201`

[Change history](https://skmtc.dev/bob-collective/apis/bob-gateway-api/changes/v1/create-order/post.md)

---

[API](https://skmtc.dev/bob-collective/apis/bob-gateway-api.md) · [All operations](https://skmtc.dev/bob-collective/apis/bob-gateway-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bob-collective/apis/bob-gateway-api/revisions/a6065adb7d74?raw)
