P2P triangles
Buy a coin on P2P, swap it for another on spot and sell the second one on P2P: what comes back in your currency. Only loops that can be done: one payment method, every ad's limits, the depth of the book and a network for the move.
How it is worked out
The ads are the ones on the P2P rates page: each venue is read once a cycle (45 seconds) for each coin and currency, once for everyone who has the page open. The filters are the same: prices more than 5 % from the median are dropped, the amount must be within the ad's limits, and payment methods are matched by name. Ads more than 4 % from the median of the currency are left out, as on the P2P routes page (a coin is compared at its spot price); «Include off-market ads» brings them back.
The spot swap walks the venue's book: the full book while it is under a minute old, else the size at the best price. A loop that size does not cover is not shown. The fee is the venue's taker fee; where the site's table has none, 0.1 %, as on the other pages.
When the coin moves between venues, the cheapest open network both venues share is taken, with its withdrawal fee. An unknown fee counts as zero and is marked. A move within one venue, from the P2P account to the spot one, needs no network and no fee.
With no amount typed, the loop takes 100 USDT at the median USDT buy price. A price older than 100 seconds, or legs more than a minute apart, are marked ⚠.
Several currencies
The «Several currencies» tab looks for cycles that start and end in one currency in one account and pass through other currencies: buying and selling on P2P, swapping coins on spot, and exchanging at a bank at its own buy and sell rates (Monobank, PrivatBank). A rate of a central bank is never a step: nobody deals at it. A cycle has at most 4 steps (or 6, if chosen); moving a coin between venues is not a step, but its fee is paid.
Between steps the money sits in one account: the ad that takes it out accepts the bank or method the previous ad paid it into. Each row shows the account needed in each currency, the venues, and where the money is after every step.
Honest arithmetic: a cycle of P2P trades on one coin (USD → USDT → UAH → USDT → USD) is the product of the routes spreads in each currency from the P2P routes page, nothing new. Such rows are marked «= routes». What can make a cycle new is marked on its step: another coin, a move between venues, a bank exchange.
Only what is needed is read: each coin in the start currency and in the currencies the cycle passes (up to three), once a cycle for everyone; one venue is asked at most once a second. Bank rates are read every half hour, and their age is shown apart.