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

# DEX Activity

> Read indexed DEX transactions, typed actions, and liquidity positions.

Read the DEX activity indexed for an active Swig owned by your API key's
organization. These routes read the index; they do not query Solana on demand.

## What you can query

| Data | Endpoint | Result |
| :- | :- | :- |
| DEX history | `POST /wallet/api/swig/{swig_config_address}/dex/transactions` | Newest-first transactions with typed DEX actions |
| One transaction | `GET /wallet/api/swig/{swig_config_address}/dex/transactions/{transaction_signature}` | Every indexed DEX action the Swig executed in that transaction |
| Latest positions | `POST /wallet/api/swig/{swig_config_address}/dex/positions` | Open or closed positions, recorded state, and source slot/signature |

The list routes use `POST` to carry filters in a JSON body. Both are reads.

## Coverage and filters

* Transaction coverage includes PumpSwap, Meteora DLMM, Raydium AMM v4, Raydium
  CPMM, Raydium CLMM, and Orca Whirlpool.
* Filter history by slot range, protocol, action type, and vault or sub-account.
  Filters combine with AND. Protocol, action type, and vault must match the same
  action; the returned transaction still includes all its indexed DEX actions.
* Filter positions by protocol, open/closed status, and vault or sub-account.
  Latest position state currently covers **Raydium CLMM**.
* A transaction that is unprocessed or could not be interpreted is absent from
  history; its individual lookup returns `404`. Position `updatedSlot` and
  `sourceTransactionSignature` identify the recorded state.

## Pagination

Set `network` to `NETWORK_MAINNET` or `NETWORK_DEVNET`. Lists default to 25 rows
and cap `pageSize` at 100. Send each response's `nextCursor` unchanged with the
same Swig, network, and filters. Stop when it is absent.

A transaction cursor contains `slot` and `transactionSignature`; a position
cursor contains `protocol` and `dexPositionAddress`. A cursor is a sort position,
not authorization or a saved filter set.

## Quota

Each admitted call or page consumes **one DEX query**, regardless of the number
of rows returned. Retries and admitted errors also count. These calls use the
separate monthly DEX quota and do not consume API requests. All plans return
`429` at their DEX cap; see [pricing and quotas](https://build.onswig.com/query.md#dex-queries).

## Reference and SDK examples

* [DEX REST filters, payloads, and errors](https://build.onswig.com/developer-api/dex)
* [TypeScript and Python DEX examples](https://build.onswig.com/developer-sdk/dex-activity)
* [Wallet token movements](https://build.onswig.com/query/wallets) for wallet-relative inflows and outflows


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.