[{"data":1,"prerenderedAt":62},["ShallowReactive",2],{"$frqp0t7no4svr":3,"$f274ym6kt6mzcs":17},{"slug":4,"locale":5,"title":6,"description":7,"date":8,"updated":8,"draft":9,"words":10,"minutes":11,"image":12,"html":13,"locales":14},"exchange-rate-markup-rounding","en","How to set rates in an exchange: sources, markup and rounding","What a crypto exchange's rate is made of, how to choose sources, work out markup and rounding, and what to do when a rate source stops responding.","2026-10-31",false,564,3,"\u002Fog\u002Fblog\u002Fen\u002Fexchange-rate-markup-rounding.png","\u003Cp>A client picks an exchange on a rate monitor by one number: how much they&#39;ll receive. That makes the rate both your main sales tool and the easiest place to lose money. A rounding mistake or a stale exchange price can eat a week&#39;s profit in a day.\u003C\u002Fp>\n\u003Cp>It helps to think of the rate as a chain where each link does one thing.\u003C\u002Fp>\n\u003Ch2>1. The source price\u003C\u002Fh2>\n\u003Cp>The first link is the market price, usually from an exchange. A single source is a risk: the exchange can lag, stop responding for a while, or show a sharp spike on a thin market.\u003C\u002Fp>\n\u003Cp>So it&#39;s better to have several sources and a rule for combining them:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>an \u003Cstrong>average\u003C\u002Fstrong> of several exchanges smooths out a random spike on one of them;\u003C\u002Fli>\n\u003Cli>a \u003Cstrong>priority\u003C\u002Fstrong>: a main source, with a backup that only takes over when the main one goes quiet;\u003C\u002Fli>\n\u003Cli>a \u003Cstrong>custom rate\u003C\u002Fstrong> for directions with no reliable market source.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>2. Cross rates\u003C\u002Fh2>\n\u003Cp>Many directions have no direct pair on an exchange, or it&#39;s illiquid. Then the rate is worked out through an intermediate currency: for example, BTC → UAH as BTC\u002FUSDT × USDT\u002FUAH. Every such step adds error, so build cross rates through the most liquid pairs.\u003C\u002Fp>\n\u003Ch2>3. Markup\u003C\u002Fh2>\n\u003Cp>Markup covers your costs and makes your profit. Set it separately for each direction and take into account:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>fees\u003C\u002Fstrong>: the payment gateway&#39;s, the network&#39;s for crypto payouts, the exchange&#39;s for trades;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>risk\u003C\u002Fstrong>: volatile coins and directions with frequent disputed payments need a bigger buffer;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>competition\u003C\u002Fstrong>: the monitor shows other exchanges&#39; rates, and a tenth of a percent decides who gets picked.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>On small amounts, a percentage markup may not cover fixed fees. A minimum amount for the direction helps there.\u003C\u002Fp>\n\u003Ch2>4. Rounding\u003C\u002Fh2>\n\u003Cp>The last step is rounding to a few decimal places. Always round the same way, in your favour, and identically across every channel: the website, the Telegram bot and the rates file for monitors.\u003C\u002Fp>\n\u003Cp>A made-up example: the exchange shows UAH 41.95 per 1 USDT, and the markup is 1.4%. 41.95 × (1 − 0.014) = 41.3627, which rounds down to 41.36. A client who sends 500 USDT receives UAH 20,680.\u003C\u002Fp>\n\u003Ch2>5. Locking the rate for the payment\u003C\u002Fh2>\n\u003Cp>Once a client creates an order, the rate is locked for the payment window, for example 15 minutes. The market can move in that time, and the exchange carries that risk. The more volatile the coin, the shorter that window should be, or the bigger the buffer in the markup.\u003C\u002Fp>\n\u003Ch2>6. When a source goes quiet\u003C\u002Fh2>\n\u003Cp>The most expensive mistake is to keep taking orders at a price that&#39;s no longer updating. Set a threshold: if a source doesn&#39;t respond for longer than that, the direction \u003Cstrong>is paused\u003C\u002Fstrong> and an operator is notified. When the source is back, the direction resumes.\u003C\u002Fp>\n\u003Ch2>7. Who changed the markup, and when\u003C\u002Fh2>\n\u003Cp>The rate is money, so every change to markup, sources or rounding should be written to a log with its author and time. When a day&#39;s profit suddenly drops, you&#39;ll see in a minute whether someone changed the settings.\u003C\u002Fp>\n\u003Chr>\n\u003Cp>In Obminly, the rate is built as exactly this chain: exchanges, cross rates, your markup and rounding. If a source goes quiet, the direction is paused, and every change is written to the action log.\u003C\u002Fp>\n",[5,15,16],"ru","uk",[18,26,34,41,42,49,56],{"slug":19,"locale":5,"title":20,"description":21,"date":22,"updated":22,"draft":9,"words":23,"minutes":24,"image":25},"crypto-exchange-monitors","How to get listed on exchange monitors and keep your position there","How crypto exchange monitors work, what to prepare before applying, what your rate file should look like and what decides an exchange's place in the list.","2026-11-08",693,4,"\u002Fog\u002Fblog\u002Fen\u002Fcrypto-exchange-monitors.png",{"slug":27,"locale":5,"title":28,"description":29,"date":30,"updated":22,"draft":9,"words":31,"minutes":32,"image":33},"how-to-open-crypto-exchange","How to open a crypto exchange: a step-by-step plan, budget and timeline","Where to start with your own crypto exchange: directions, legal questions, choosing a platform, payment systems, budget and launch timeline, and which part of the work you can hand over to us.","2026-11-07",1033,6,"\u002Fog\u002Fblog\u002Fen\u002Fhow-to-open-crypto-exchange.png",{"slug":35,"locale":5,"title":36,"description":37,"date":38,"updated":38,"draft":9,"words":39,"minutes":24,"image":40},"aml-check-crypto-exchange","AML checks in a crypto exchange: what to check and what to do with risky orders","How AML screening of incoming transactions works in an exchange, how to read a risk score, which thresholds to set and what to do with an order the system holds back.","2026-11-04",662,"\u002Fog\u002Fblog\u002Fen\u002Faml-check-crypto-exchange.png",{"slug":4,"locale":5,"title":6,"description":7,"date":8,"updated":8,"draft":9,"words":10,"minutes":11,"image":12},{"slug":43,"locale":5,"title":44,"description":45,"date":46,"updated":46,"draft":9,"words":47,"minutes":11,"image":48},"move-exchange-to-new-platform","How to move an exchange to a new platform without losing clients or rankings","What to move, what to check and how to switch the domain so that an exchange keeps its clients, order history and search rankings after moving to a new script.","2026-10-28",549,"\u002Fog\u002Fblog\u002Fen\u002Fmove-exchange-to-new-platform.png",{"slug":50,"locale":5,"title":51,"description":52,"date":53,"updated":53,"draft":9,"words":54,"minutes":11,"image":55},"crypto-exchange-launch-checklist","A checklist before launching a crypto exchange","What to have ready for the first order: legal questions, payment systems, KYC and AML, rates, limits, the team, test orders and rate monitors.","2026-10-27",509,"\u002Fog\u002Fblog\u002Fen\u002Fcrypto-exchange-launch-checklist.png",{"slug":57,"locale":5,"title":58,"description":59,"date":53,"updated":53,"draft":9,"words":60,"minutes":11,"image":61},"how-automatic-payouts-work","How automatic payouts work in a crypto exchange","What happens between a client's payment and the payout to their card, which checks an order has to pass, and when an operator should still make the call.",546,"\u002Fog\u002Fblog\u002Fen\u002Fhow-automatic-payouts-work.png",1794165281365]