Твой обменник что будет делать, когда возникнет значимый перекос в балансах usdt и btc? Например (и это будет происходить часто) выкупят все btc и у тебя на руках будут только usdt, будешь отказывать клиентами, желающим купить btc?
Для этого обменники сами идут к другим обменникам или биржам и обменивают остатки. Так вот курс обмена можно брать из тех бирж, где у тебя будет храниться балансы для совершения этого выравнивания.
Мало того, есть обменники, которые принципиально не хранят какую то валюту, например btc, больше чем на одна сделка, тут же меняя поступающие монеты на бирже...
Отсюда берешь через api текущий курс с биржи и, добавив некоторый процент, используешь как твой курс.
Самое интересное, что у тебя появится понимание что этот добавочный процент, если торговые обороты будут значительны, становится важным, например для привлечения клиентов, когда он будет делать твой итоговый курс ниже конкурентов. Или, к примеру, что бы не нести монеты на биржу для выравнивания перекосов балансов, можно подруливать курсами покупки и продажи ближе или дальше от базовой на бирже, чтобы привлекать больше или меньше клиентов на соответствующее направление обмена, таким образом будет совершаться выравнивание автоматически.
И вообще, вопрос выбора курса обмена, это тот же вопрос спекулятивной торговли с целью получения дохода.. чем меньше разница будет с биржей, тем сильнее это будет заметно. А вопрос этот не имеет ответа в общем, каждый ищет его самостоятельно.