Economy & Taxes

Multi-Currency Support

XAuctionHouse supports all currencies defined in XCore's economy system. Sellers can specify which currency to use when creating a listing:

/ah sell 500 gems
/ah auction 1000 1d coins

The default-currency setting in config.yml determines which currency is used when none is specified. If left empty, the primary Vault currency is used.

# Default currency for listings (empty = use vault primary currency)
default-currency: ""

Each listing displays its currency in the item lore, so buyers always know what currency they are paying in.

Tax System

A configurable tax/commission can be applied to every sale:

tax:
  enabled: false
  rate: 0.05       # 5% tax
  type: SELLER     # SELLER or BUYER
TypeBehaviorExample (item priced at 1000, 5% tax)
SELLERTax is deducted from the seller's proceedsBuyer pays 1000, seller receives 950
BUYERTax is added on top of the price for the buyerBuyer pays 1050, seller receives 1000

Tax information is shown in the confirmation GUI before purchase so there are no surprises.

Pending Payments

When a seller is offline at the time of sale, their payment is queued. On their next login, they receive a summary of all sales that happened while they were away:

During your absence:
  ▸ Steve bought your Diamond Sword (+$500)
  ▸ Alex bought your Iron Pickaxe (+$200)

The notification delay is configurable to avoid conflicts with login screens:

delay-message: 1000  # Delay in ms before showing join notifications

Price Limits

A maximum price cap prevents abuse:

maximum-price: 1000000000

For auctions, you can also set a minimum starting bid:

auction:
  min-starting-bid: 1

Players who try to list above the maximum or below the minimum receive an error message.