Add crypto exchange with one API. CORE compares the offers, creates the order and follows it to payout. You never handle a balance.
01
Ask for a rate
POST /api/v1/quotes with a pair and amount. You get the best offer, how many executors were compared, and the executor's passport where its terms require naming it.
02
Create the exchange
POST /api/v1/deals with the payout and refund address. CORE picks the executor, re-checks the rate, and returns the deposit address. Idempotent on your Idempotency-Key.
03
Track status
GET /api/v1/deals/:id for your deal's current status. Other tenants' deals are not reachable - only the ones your key created.
One request, every offer
The rate is compared across several services on every request. If one is down the others still answer.
What CORE takes is a number, not hidden in the rate
coreMarkup is CORE's own share of the trade, reported as a decimal string on every quote - receive.amount is always the executor's output minus that number, so the two can never disagree. Right now it is zero for every executor.
The client keeps the receipt
Every exchange gets a public page with its number, per-step times and both transaction hashes. Hand the link to your user and the status question answers itself.