# Pricing

AssetPay charges one thing: **a fee per cleared trade**. There are no setup
costs, no monthly minimums, no integration fees, and no withdrawal fees. If no
trades clear, you pay nothing.

## What counts as a cleared trade?

A trade that reaches `completed` — items received, verified against what was
priced, and credited. Trades that fail, are canceled, or are declined cost
nothing: an offer your user never accepts is not a billable event. The
[trade lifecycle](/docs/guides/trade-lifecycle) documents every state.

## What is and isn't billable?

| Event | Billable |
| --- | --- |
| Trade reaches `completed` | Yes — one per-trade fee |
| Trade fails, is canceled, or the user never accepts | No |
| Setting up your account and API keys | No |
| Monthly platform access, at any volume | No |
| Withdrawing your merchant balance | No |
| Integration support while you build | No |

## What does the fee cover?

Everything between your checkout and a settled balance: the Steam bot fleet that
receives and delivers items, live pricing across marketplaces, eligibility and
trade-restriction checks before an offer is created, custody through the hold
period, fraud and risk scoring, the double-entry ledger behind your balance, and
signed webhooks telling your backend what happened. Building that in-house is a
standing engineering cost rather than a one-off — the shape of it is in
[running Steam trading bots at scale](/blog/running-steam-trading-bots-at-scale).

## Does instant credit cost extra?

No. Instant credit changes *when* your user sees value, not what the trade is
worth. A CS2 deposit splits into a `preCredit` paid immediately and a
`pendingCredit` paid when Steam's protection window closes, and the two always
sum to the full quoted price — the mechanics, collateral and per-deposit caps
are in the [instant credit guide](/docs/guides/instant-credit). Rust has no
protection window at all, so Rust deposits credit instantly and in full. Who
carries the risk during that window is worth asking every provider:
[who bears CS2 reversal risk](/blog/cs2-trade-protection-reversal-risk).

## What is the rate?

The per-trade rate is agreed per merchant, because the honest inputs vary:
which games you accept, your deposit/withdrawal mix, and your volume. A
case-opening site doing thousands of small Rust cashouts and a marketplace
taking occasional high-value CS2 deposits are different books of business, and
pricing them identically would mean mispricing one of them.

That conversation is short and starts on [Discord or email](/contact). You'll
have a number before you've written any code.

## How should I compare providers on price?

Not on the headline rate. Some providers advertise "0% commission" and recover
the margin in the exchange rate applied to items — not dishonest, but it makes
advertised numbers incomparable. The only measurement that holds up:

1. Take one identical basket of skins — a liquid mid-tier item, one high-value
   item, a handful of low-value fillers.
2. Run it through each provider you're evaluating.
3. Compare what actually lands in your balance.

That end-to-end number — the **effective rate** — is the price. The fee models
across the industry are broken down in
[skin payment gateways explained](/blog/skin-payment-gateways-explained), and
the current field is compared in
[the gateway roundup](/blog/best-cs2-skin-payment-gateways).

## Where do the skin prices come from?

From the markets, not from us. AssetPay tracks every unit it can price
against live listings, buy orders, liquidity and sales history on the major
CS2 marketplaces. "Unit" means the thing that actually trades: a StatTrak
Field-Tested is not the same unit as its Factory New cousin, and a Doppler
gets priced per phase. The raw feed underneath all of this comes from
[cs2.sh](https://cs2.sh), which rolls order books and realized-sales
archives from Buff, YouPin, CSFloat, Skinport, Steam and a few others into
one normalized stream. Building on that instead of a single venue is why a
quote here tracks the whole market and not one site's order book.

What we do with the data is our own model, and we keep the details to
ourselves. The short version is old-fashioned: a listing is an opinion, a
sale is a fact. Asks show what sellers are hoping for. Sales show what
buyers actually paid. Buy orders show what an exit is worth right now. Fair
value comes from reconciling those three, computed so that a fake listing
(or fifty of them) can't move the number.

## What keeps a price honest?

Skin markets are small enough to be pushed around, and people try
constantly. So a lot of the model's job is refusing to be fooled.

Sales outrank wishes. When the Cologne 2026 golds dropped, sellers had them
listed at six figures within days; actual sales were pocket change. A model
that averages listings quotes the fantasy. Ours quotes the sales.

Thin evidence gets a conservative number. A deep book that clears trades
every day has earned some trust. Three stale listings on a dead collectible
have earned none, so the price leans down until real sales say otherwise.

Phases are separate markets. A Doppler Sapphire and a Phase 4 share a name
and very little else, so each is priced from its own book rather than
inferred from the base knife's.

And when there is no evidence, there is no quote. An item with no recent
sales simply doesn't get a price. Annoying, yes. But an invented price is
how a gateway gets drained, and we'd rather be annoying.

That fair value is the reference every deposit quote starts from; your
per-merchant terms apply on top, and the effective-rate test above shows
what they add up to.

## Does the fee change for withdrawals?

There are no withdrawal fees on top of the trade fee, and your users pay
nothing extra to cash out: the price shown on a listing is what leaves their
balance. The mechanics of the cashout side — sourcing, delivery, the approval
gate — are covered in
[instant skin cashouts](/blog/instant-skin-cashouts).

## Is there a volume commitment?

No. There is no minimum volume, no ramp-up clause, and no penalty for a quiet
month. Merchants scale from their first trade to five-figure days on the same
terms — [one did exactly that](/blog/case-study-150k-skin-cashouts).

---

Ready for a number? [Talk to the team](/contact) — or read
[the docs](/docs) first; they're open, no sales call required.
