# Trading

> Send items as trade offers, by hand from a selection or as a fleet-wide task, and follow every offer on the Trades page.


Trading moves items between your accounts, or out to someone else. Two things create offers: a selection on **Inventory**, and the **Trade Items** task. Everything either one produces shows up on **Trades**.

![The Trades page](/images/docs/trades-list.png "Every offer your accounts sent or received, newest change first.")

## Sending from a selection

Select items on **Inventory**, then press **Send items**. This is the way to move a specific set of items somewhere specific.

Pick where they go:

- **One of my accounts**: an internal transfer. Only accounts whose trade URL we know are listed
- **A trade URL**: any Steam trade offer URL, for destinations outside SteamLabs
- **Routing rules (spread across targets)**: one selection, many destinations, decided by rules. See [Routing rules](/docs/en/inventory/routing-rules)

**Auto-accept on the receiving account** is on by default and queues an accept task on the receiving side once the offer is sent. It only means anything for your own accounts, since an external partner accepts on their own side.

**Message** is the note on the offer, up to 128 characters, which is Steam's limit.

Untradable items are dropped from the send without failing it, since Steam would reject the offer carrying them. Items already listed on a marketplace or staged for a trade-up stay put.

> [!IMPORTANT]
> A destination account needs a known trade URL before it can receive anything. If an account is missing from the list, or a send is refused with an invalid destination, run **Refresh trade URL** on it. Refreshing an account's trade offers learns the URL too, since Steam hands it over with them.

## Sending across the fleet

For "empty these 400 accounts into that one", use **Tasks → Create tasks** and pick **Trade Items**. The accounts you select there are the item *sources*, and the task's config decides where their items go.

**Simple** takes one destination (your account or a trade URL) plus optional **Item conditions**: game, price range, specific items, item type, origin. Leave the conditions off and it sends every tradable item.

**Advanced** is the full routing rule list, the same builder the inventory modal offers.

The difference from a selection send is what the items are: a selection is a list you picked, while the task matches items by rule at the moment it runs. That makes it the one to put on a schedule.

## The Trades page

**Trades**, in the **Trading** group, is every offer your accounts have sent or received. Three tabs triage it:

- **All**
- **Open**, offers still waiting on someone's action, with a count badge
- **Protected**, accepted CS2 trades still inside trade protection

Filter by account, flow (**Incoming**, **Outgoing**, **Internal transfer**), status and game. Searching matches the Steam offer ID, an external partner's Steam ID, or either account's username.

Click a row for the full offer: both item lists, the message, when it was sent and when it expires. Accept, decline and cancel are available from the row and from that slide-over, whenever the offer's state allows it.

![A trade offer opened](/images/docs/trade-offer-detail.png "One offer in full: who is sending to whom, every item with its estimated value, and the answer buttons the state allows.")

> [!NOTE]
> A transfer between two of your own accounts is one trade, and reads as one row. Behind it are two records, one per side, so the item movement is correct from both accounts' point of view.

## Offer states

`state` is Steam's own, so these are Steam's words for what happened.

| State | Still open |
| --- | --- |
| **Active** | Yes |
| **Needs Confirmation** | Yes |
| **In Escrow** | Yes |
| **Accepted** | No |
| **Declined** | No |
| **Canceled** | No |
| **Canceled via Mobile** | No |
| **Countered** | No |
| **Expired** | No |
| **Invalid**, **Invalid Items** | No |

Only an **Active** offer awaiting one of your accounts can be accepted or declined. An offer you sent can be cancelled while it is still open.

Closed offers only ever change when a fresh fetch finds that Steam disagrees.

## Trade protection

CS2 trades settle on a delay. Items leave the sender straight away but do not reach the receiver until the trade settles, and until then Valve can reverse it. Offers in that window carry a **Protected until** badge and fill the **Protected** tab.

This is Valve's behaviour, not a SteamLabs setting. Plan around it: items in protection are not usable, sellable or sendable yet.
