How Binance P2P decides which ads buyers see first
Every Binance P2P merchant wants to be near the top of the list, so it is worth being precise about what "the list" is. There isn't just one.
Two books per market
For each asset and fiat pair, say USDT and EUR, there are two separate lists:
- On the Buy tab, people buying USDT see sell ads, cheapest first.
- On the Sell tab, people selling USDT see buy ads, highest price first.
Your sell ad only competes with other sell ads, and your buy ad only with other buy ads. A "better" price means lower on one side and higher on the other, which is easy to mix up when you run both.
Price sets the order
Within a list, ads are sorted by price. Binance does not publish how it orders ads with the same price, and those rules can change, so a tie is not a place to rely on. If you want to be ahead of someone, be one price step better than them.
The price step matters. In a market quoted to three decimals, like USDT/EUR, one step is 0.001. In a market quoted in whole units, one step is 1. Undercutting by more than one step gives money away for no change in rank.
The buyer's filters decide which list you are in
Buyers rarely look at the full list. Most of them:
- enter an amount, and Binance then hides every ad whose order limits don't include that amount;
- pick a payment method, and ads without it disappear;
- sometimes switch on a filter for verified merchants only.
So your rank is not one number. For a buyer who wants 50 EUR, your ad with a 500 EUR minimum is not on the page at all. For a buyer who wants 3,000 EUR, all the small ads have dropped away, and the ad that was fifth may now be first.
That is why it is more useful to ask "who am I competing with for the orders I actually want?" than "what is my rank?"
What this means in practice
Compete at the order size you care about. If most of your volume comes from 500 to 2,000 EUR orders, look at the list a buyer of that size sees. Ads that only accept 20 to 100 EUR are not your competition for those orders.
Share payment methods, or ignore the ad. An ad that only takes a bank you don't support isn't taking your customers.
Leave out advertisers who are away. An ad from someone offline for an hour sits at the top without filling any orders. Buyers who click it wait, give up and come back to the list.
Position 2 or 3 is often enough. The first screen shows several ads. Holding second place usually still gets you seen, and it leaves more margin than fighting for first.
How P2P Trade Bot applies this
Each ad in the bot has an order size to compete at, which is the same amount filter a buyer uses. On auto it follows your ad's remaining size. You can match payment methods, set a minimum completion rate or order count, and ignore advertisers who have been idle for a while. The target position is counted in the list that is left after those filters, which is the list your real customers see.
Related: undercutting by one tick without starting a price war.