Open app

API reference

Markdown

Get swap terms

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: branch on code, never on the message.

#Example

curl
curl 'https://api-beta.wagyu.xyz/v2/swaps/terms'
JavaScript
const res = await fetch('https://api-beta.wagyu.xyz/v2/swaps/terms'
);
const data = await res.json();
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
{
  "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
  }
}

Tip: every page is also plain Markdown, and /llms.txt indexes them for AI tools.