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

# Transaction Classification for the Transactions API

> The GoldRush Transactions API now supports with-classification, a query parameter that identifies the action behind each transaction, such as a swap, a token transfer, or a liquidity deposit.

*Published October 22, 2026*

![Transaction Classification for the Transactions API](https://www.datocms-assets.com/86369/1792687837-transaction-classification-banner.jpg)

The GoldRush Transactions API now supports `with-classification`, a query parameter that identifies the action behind each transaction, such as a swap, a token transfer, or a liquidity deposit. Instead of reconstructing intent from raw logs and transfers, you get a type, a category, a plain-English summary, and the assets that moved in and out of the wallet.

## What you get

* **`type`**: the transaction type, eg: `swap`, `send_token`, `receive_token` or `add_liquidity`.
* **`category`**: the category the type belongs to, eg: `defi`, `nft`, `transfer` or `lending`.
* **`description`**: a summary ready to display, eg: `Swapped 872.59 AERO for 0.279091760280112109 WETH.`.
* **`sent` and `received`**: the assets that left and arrived at the wallet, including gas fees.
* **`account_abstraction`**: bundler, sender and paymaster details for ERC-4337 transactions.

## Categories

Every `type` belongs to one `category`:

| Category | What it covers |
| - | - |
| `defi` | Swaps, adding and removing liquidity, rebalancing positions, and placing, filling or cancelling DEX orders |
| `lending` | Borrowing, repaying, depositing and withdrawing collateral, and liquidations |
| `staking` | Staking, unstaking, locking, and claiming rewards |
| `nft` | Minting, buying, selling, sending, receiving and burning NFTs, NFT approvals, listing cancellations, airdrops and royalties |
| `transfer` | Sending and receiving tokens, token airdrops and burns |
| `bridge` | Sending tokens to a bridge and receiving them from one |
| `governance` | Voting and delegating |
| `spam` | Spam tokens and address poisoning |
| `system` | Contract deployments, admin calls, ERC-4337 bundle submissions and system transactions |
| `other` | Everything else, such as token approvals, wraps and unwraps, exchange deposits and withdrawals, domain registrations, and failed transactions |

## Without `with-classification`

You would work it out yourself: decode every log against each protocol's ABI (Uniswap V2, V3 and V4, Seaport, Aave, Lido, CoW and more), net the token, NFT and native transfers, tell wraps apart from swaps, and figure out which legs belong to the wallet you care about. ERC-4337 bundles and marketplace fills make this harder, because one transaction carries several users' actions. Every new protocol means more decoding work.

## How it works

A rules engine classifies each transaction from the wallet's side. It matches known protocol events and the shape of the wallet's own transfers, and only labels the wallet with an action it was actually part of. In ERC-4337 bundles, each user operation is classified from its own logs. When no rule applies, it returns `unclassified` rather than guess.

The engine also supports Jev, a decision model, as a second opinion. Where Jev is enabled, its answer is used only when it is confident, and it never overrides a result decided by a protocol event. When it disagrees and is not confident, the result is `unclassified`.

## Wallet-specific classification

The same transaction reads differently depending on whose side you are on. On wallet endpoints, transactions are classified for the requested wallet address. On the single-transaction endpoint, pass `account-address` to choose the address.

## Where it works

`with-classification` is available on the Transaction, Wallet Transaction History, Paginated, Time Bucket, Earliest and Block Transactions endpoints, on the same chains as `with-internal`. It costs an extra `0.05` credits per transaction returned.

```bash theme={null}
curl -X GET "https://api.covalenthq.com/v1/base-mainnet/address/<WALLET_ADDRESS>/transactions_v3/?with-classification=true&key=<GOLDRUSH_API_KEY>"
```

## What you can build

* **Activity feeds** that show "Swapped AERO for WETH" instead of a list of logs.
* **Wallet history and portfolio views** that group activity by category.
* **Accounting and tax tools** that need the sent and received legs of each transaction.

[Learn more](https://goldrush.dev/docs/api-reference/foundational-api/transactions/get-recent-transactions-for-address-v3.md)


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