# Get swap terms

> Read the swap rules before creating an order: deposit window, minimum and confirmations per chain, partial deposits, default limits

`GET /v2/swaps/terms`

Read the swap rules before creating an order: deposit window, minimum and confirmations per chain, partial deposits, default limits.

**Authentication:** None. This route is public.

## Response

`200` returns an object with:

- `depositWindowMinutes` · number · **required** — How long a new order waits for its deposit, top-ups included. Each order states its own deadline as `expiresAt`; count down to that, not to this.
- `chains` · array of object · **required** — Every chain an order can send from, with its live availability.
  - `chainId` · integer · **required** — Non-negative integer chain identifier.
  - `depositEnabled` · boolean · **required** — Whether POST /v2/swaps accepts an order sending from this chain right now.
  - `minDepositUsd` · number · **required** — Smallest order sending from this chain, in US dollars. A quote's `minDepositUsd` is the same value.
  - `confirmations` · object · **required** — Confirmations a deposit from this chain needs before the order acts on it. Where min and max differ (Monero, Zcash), bigger deposits and busier periods need more. An order's own `requiredConfirmations` is the value that applies to it.
    - _Nested fields: see `openapi.json`._
- `partialDeposit` · object · **required**
  - `executesFromPercent` · number · **required** — A token deposit of at least this share of `depositAmount` counts as paid and executes on what arrived.
  - `noticeFromPercent` · number · **required** — An arrival below this share of `depositAmount` is treated as stray dust: no short-deposit notice.
  - `continueFromUsd` · number · **required** — When the top-up wait ends, a short deposit worth at least this many US dollars executes on what arrived. A smaller one expires and support returns it.
- `recoveryCheckMinutes` · integer or null · **required** — Longest wait before an order waiting on recovery (for example after a refund or payout address is submitted) is checked again. `null` when the check does not run on a fixed interval.
- `integratorFee` · object · **required**
  - `maxPercent` · number · **required** — Highest `integratorFeePercent` a quote or order accepts.
- `defaultLimits` · object · **required** — Per-client limits that apply without an integrator key. An integration can have higher ones: GET /v2/integrator/me returns yours.
  - `requestLimitPerMin` · integer · **required**
  - `quoteLimitPerMin` · integer · **required**
  - `createLimitPerMin` · integer · **required**
  - `maxOpenOrders` · integer · **required**
  - `openOrderWindowMinutes` · integer · **required**

Errors use the [standard error envelope](https://docs.wagyu.xyz/actions-and-retries.md#the-error-envelope): branch on `code`, never on the message.

## Example

<!-- curl -->
```bash
curl 'https://api-beta.wagyu.xyz/v2/swaps/terms'
```

<!-- JavaScript -->
```javascript
const res = await fetch('https://api-beta.wagyu.xyz/v2/swaps/terms'
);
const data = await res.json();
```

<!-- Python -->
```python
import requests

res = requests.get('https://api-beta.wagyu.xyz/v2/swaps/terms', timeout=30)
data = res.json()
```

<!-- Response · 200 · captured 4 Nov 2026, 08:24 UTC -->
```json
{
  "depositWindowMinutes": 60,
  "chains": [
    {
      "chainId": 0,
      "depositEnabled": true,
      "minDepositUsd": 25,
      "confirmations": {
        "min": 2,
        "max": 10
      }
    },
    {
      "chainId": 133,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 3,
        "max": 24
      }
    },
    {
      "chainId": 20000000000001,
      "depositEnabled": true,
      "minDepositUsd": 40,
      "confirmations": {
        "min": 1,
        "max": 1
      }
    },
    {
      "chainId": 1151111081099710,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 1,
        "max": 1
      }
    },
    {
      "chainId": 728126428,
      "depositEnabled": true,
      "minDepositUsd": 1500,
      "confirmations": {
        "min": 19,
        "max": 19
      }
    },
    {
      "chainId": 1,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 2,
        "max": 2
      }
    },
    {
      "chainId": 42161,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 1,
        "max": 1
      }
    },
    {
      "chainId": 8453,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 1,
        "max": 1
      }
    },
    {
      "chainId": 56,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 3,
        "max": 3
      }
    },
    {
      "chainId": 999,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 1,
        "max": 1
      }
    },
    {
      "chainId": 4663,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 1,
        "max": 1
      }
    },
    {
      "chainId": 5042,
      "depositEnabled": true,
      "minDepositUsd": 20,
      "confirmations": {
        "min": 1,
        "max": 1
      }
    }
  ],
  "partialDeposit": {
    "executesFromPercent": 99,
    "noticeFromPercent": 0.5,
    "continueFromUsd": 10
  },
  "recoveryCheckMinutes": 15,
  "integratorFee": {
    "maxPercent": 5
  },
  "defaultLimits": {
    "requestLimitPerMin": 600,
    "quoteLimitPerMin": 60,
    "createLimitPerMin": 6,
    "maxOpenOrders": 5,
    "openOrderWindowMinutes": 30
  }
}
```

---
Source: https://docs.wagyu.xyz/api-reference/get-swap-terms · Built from the live Wagyu API on 2026-11-04.
