> For the complete documentation index, see [llms.txt](https://lethium.gitbook.io/lethium-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lethium.gitbook.io/lethium-docs/gameplay/player-trading.md).

# Trade, Gifting and Auction House

Trade, Gifting and the Auction House: limits, fees, allowed items and currencies.

Three modules let players move items and currency between each other. All three support ClickEm items (withdrawn pets, eggs, candy, tickets, scrolls, Echoes, vouchers), and all three can be turned off in `config.yml`.

| Module        | File               | Command                            | Use                                                   |
| ------------- | ------------------ | ---------------------------------- | ----------------------------------------------------- |
| Trade         | `trade.yml`        | `/trade`, `/trades`                | Two-sided live trade window.                          |
| Gifting       | `gifting.yml`      | `/gift`, `/gifts`                  | One-way, one offer at a time.                         |
| Auction House | `auctionhouse.yml` | `/ah`, `/auction`, `/auctionhouse` | Listings anyone can buy later, seller may be offline. |

### Trade

Both players build their offer **at the same time** and watch the other side update live before confirming.

```yaml
invite-timeout-seconds: 30
idle-timeout-seconds: 300
max-items-per-side: 12
allow-vanilla-items: true
allowed-clickem-types: [pets, eggs, candy, tickets, scrolls, echoes, vouchers]
currencies: [coins, gems, artifact_essence]
require-nearby: false
max-distance-blocks: 10
```

| Key                                     | Meaning                                                                     |
| --------------------------------------- | --------------------------------------------------------------------------- |
| `invite-timeout-seconds`                | How long an invite waits for `/trade accept`.                               |
| `idle-timeout-seconds`                  | A trade with no changes for this long is cancelled and everything returned. |
| `max-items-per-side`                    | Items per offer.                                                            |
| `allow-vanilla-items`                   | Allow ordinary items, not just ClickEm items.                               |
| `allowed-clickem-types`                 | Item categories allowed. Remove one to block it.                            |
| `currencies`                            | Editable currency rows (at most 4 shown).                                   |
| `require-nearby`, `max-distance-blocks` | Force traders to be close together in the same world.                       |

Commands: `/trade <player>`, `/trade accept`, `/trade decline`, `/trade cancel`. Staff: `/ceadmin trade cancel <player>`.

### Gifting

```yaml
offer-timeout-seconds: 60
allowed-types: [pets, eggs, candy, tickets, scrolls, echoes, vouchers]
gift-currencies: [coins, gems, artifact_essence]
per-day-limit: 0
broadcast-rare-gifts: false
```

| Key                     | Meaning                                                                                                                          |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `offer-timeout-seconds` | How long a pending offer waits before expiring and being returned.                                                               |
| `allowed-types`         | Item categories.                                                                                                                 |
| `gift-currencies`       | Currencies that can be gifted.                                                                                                   |
| `per-day-limit`         | Gifts a player can **send** per real day. `0` = unlimited. Declined and expired offers still count. VIP adds `extra-gift-limit`. |
| `broadcast-rare-gifts`  | Announce every accepted gift server-wide.                                                                                        |

### Auction House

Players list items for sale in any allowed currency. The seller **does not need to be online**: they collect the payout (or the item back if unsold) when they next log in.

```yaml
listing-duration-hours: 48
max-active-listings-per-player: 5
min-price: 1
max-price: 1000000000000000000
listing-fee-percent: 5
currencies: [coins, gems, artifact_essence]
allow-vanilla-items: true
allowed-clickem-types: [pets, eggs, candy, tickets, scrolls, echoes, vouchers]
```

| Key                              | Meaning                                                                                                                           |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `listing-duration-hours`         | How long a listing stays up. Then the item is returned.                                                                           |
| `max-active-listings-per-player` | Listings per player.                                                                                                              |
| `min-price`, `max-price`         | Price bounds.                                                                                                                     |
| `listing-fee-percent`            | Non-refundable fee paid when listing, in the same currency. A Coins sink. VIP ranks discount it (`auction-fee-discount-percent`). |

Commands: `/ah`, `/ah sell`, `/ah mine`, `/ah cancel <id>`. Staff: `/ceadmin auctionhouse cancel <player>`.

Listings live in `data/auctionhouse.yml` (or the database in MySQL mode). See [Storage and multi-server](/lethium-docs/configuration/storage.md).

### Stopping abuse

* To block an item type everywhere, remove it from all three lists.
* To turn off vanilla item selling, set `allow-vanilla-items: false`.
* To stop gem trading while you have no gem source, remove `gems` from the currencies lists.
* Menu layout and icons live under `gui:` in each file.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://lethium.gitbook.io/lethium-docs/gameplay/player-trading.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
