---
title: "Get Arkham DEX swap transactions"
method: POST
path: "/swaps"
tags: ["Swaps"]
---

# Get Arkham DEX swap transactions

`POST /swaps`

Get Arkham DEX swap transactions. Priced per row: $0.40 × limit (default 20, max 1649); pass the smallest useful limit.

## Request body

- object
  - `base` union — Filter by specific entity or address involved in the swap. Omitting it returns an empty list.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `chains` union — Chains to filter by, as a single comma-separated value (e.g. 'ethereum,solana'). If omitted, returns data across all su…
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `counterparties` union — List of addresses or entities to treat strictly as counterparties.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `flow` union — Swap direction relative to the base address. Valid values: 'in' (receiving token1), 'out' (sending token0), or 'all'. D…
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `from` union — Filter to swaps where the base sold one of these tokens (token addresses or token IDs). Combine with 'to' for a specifi…
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `limit` union — Maximum number of results to return. Default: 20. Max: 1649.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `offset` union — Pagination offset. offset + limit must not exceed 10000.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `protocols` union — Filter by protocol/DEX addresses or entity IDs.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `receivers` union — Filter by the transaction parties that received the swap output (receiver addresses or entities). Distinct from 'to', w…
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `senders` union — Filter by the transaction parties that initiated the swap (sender addresses or entities). Distinct from 'from', which f…
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `sortDir` union — Sort direction: 'asc' (ascending) or 'desc' (descending). Defaults to 'desc'.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `sortKey` union — Field by which to sort the results. One of: time, usd.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `timeGte` union — Filter swaps at or after this time (unix ms, unix seconds, RFC3339, or YYYY-MM-DD).
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `timeLast` union — Time range filter using relative durations (e.g. 24h, 7d). Cannot be combined with timeGte/timeLte.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `timeLte` union — Filter swaps at or before this time (unix ms, unix seconds, RFC3339, or YYYY-MM-DD).
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `to` union — Filter to swaps where the base bought one of these tokens (token addresses or token IDs). Combine with 'from' for a spe…
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `tokens` union — List of token addresses or token IDs that appear as either token0 or token1.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `usdGte` union — Minimum historical USD value.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `usdLte` union — Maximum historical USD value.
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `value0Gte` union — Minimum token0 amount (decimal-adjusted; matched on absolute value).
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `value0Lte` union — Maximum token0 amount (decimal-adjusted; matched on absolute value).
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `value1Gte` union — Minimum token1 amount (decimal-adjusted; matched on absolute value).
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean
  - `value1Lte` union — Maximum token1 amount (decimal-adjusted; matched on absolute value).
    - string
    - number
    - boolean
    - union[]
      - union
        - string
        - number
        - boolean

## Response `200`

Successful response

- unknown

## Other responses

- `400` — Fatal for the request as written: validation failed or required JSON body fields are missing. Fix the request; do not retry it unchanged. Payment is not settled.
- `402` — Payment challenge, not an application error. Read the base64 x402 v2 challenge from PAYMENT-REQUIRED, sign it, and retry the same request with PAYMENT-SIGNATURE. If a post-payment 402 omits PAYMENT-REQUIRED, verification failed: read the new challenge, re-sign, and retry once.
- `404` — The upstream Arkham resource does not exist. Fatal for the same input. Payment is not settled.
- `429` — Per-wallet endpoint rate limit exceeded. Retry with at least 1 second of backoff; keep heavy endpoints at no more than 1 request per second.
- `5XX` — Arkham failed or timed out, including 502 and 504 responses. Retry with backoff. x402 payments and MPP transaction credentials are not settled for failed requests; MPP hash credits are redeemed at admission and are not refunded automatically.

---

[API](https://skmtc.net/arkm/apis/arkham-x402.md) · [All operations](https://skmtc.net/arkm/apis/arkham-x402/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arkm/arkham-x402/revisions/7830c19a58c4/schema)
