1. Quote
from.amount = “sell exactly this much”, to.amount = “buy exactly this much.” The rate includes your organization’s spread and is locked for 10 minutes.
2. Execute
from balance is debited and the to balance credited before the response returns. Executing the same quote twice returns the original conversion (200). A lapsed quote returns 400 bad_request — request a fresh one.
Where rates come from
GET /v1/rates/{origin}/{destination} returns the same all-in rate a quote would use, without creating one — handy for showing prices. See Money & currencies for direction semantics and rate locks.
conversion.completed fires on execution; the ledger shows a debit and a credit entry linked to the conversion.