Skip to content

What is a market maker in stablecoin payments? How they set the rate on your quote

A market maker quotes a buy and a sell price and earns the gap. Who they are in stablecoin payments, how they shape your quote, and what to ask.

A market maker is a firm that stands ready to buy and sell at prices it quotes, and earns the gap between its buy and sell price. In stablecoin payments, market makers supply the local currency behind an off-ramp and the stablecoins behind an on-ramp, so their inventory and risk decide the rate on your quote.

You'll almost never talk to one directly. Your payment API does. But the spread they quote, the size they can absorb, and the risk they won't hold all show up in the rate you see. Knowing how they work makes a quote readable.

Key takeaways

  • A market maker quotes a bid (buy) and an ask (sell), holds inventory, and earns the spread between them.
  • In stablecoin payments, market makers include bank FX dealers, crypto OTC desks, order-book traders, and onchain automated market makers.
  • Spreads widen with volatility, trade size, lopsided inventory, and the length of time a price must be held.
  • A binding payout quote moves the market maker's risk off your plate for the quote window.
  • Ask providers about binding windows, rate at size, and itemized margin, not about partner names.

What does a market maker do?

It stands in the middle of the market and quotes both sides. Nasdaq's glossary defines a market maker as a dealer who "maintains firm bid and offer prices in a given security by standing ready to buy or sell round lots at publicly quoted prices."

Swap "security" for "currency pair" and you have FX. A market maker in USDC/BRL quotes a price at which it will buy USDC (paying reais) and a higher price at which it will sell USDC (receiving reais). The midpoint of those two is the mid-market rate you see on Google. The gap is how the market maker gets paid.

Getting paid comes with a job: holding inventory. When it buys your USDC, it now owns USDC and owes nobody reais until it rebalances. If BRL moves in the meantime, it eats the loss. The glossary for this cluster defines market maker, bid, ask, and spread the same way.

Who are the market makers in stablecoin payments?

Several kinds of firms, each covering a different leg of the trip from stablecoin to bank account.

TypeWhat it quotesWhere it sits in a paymentStrengthLimit
Bank FX dealersFiat pairs such as USD/BRLThe wholesale FX market behind the local currencyDeep in major pairsBanking hours, relationship pricing
Crypto OTC desksStablecoin vs local currency, large ticketsBehind on-ramps and off-rampsSize in one tradeOften minimum ticket sizes
Order-book market makersStablecoin pairs on exchangesExchange venuesContinuous two-sided pricesVenue access and settlement steps
Automated market makersToken vs token, onchainOnchain poolsAlways on, transparent formulaNo bank payout; depth limited to the pool

Automated market makers are the newest kind. The original StableSwap paper describes Curve as "a fully autonomous market-maker for stablecoins with very minimal price slippage." It's a real market maker. It just quotes token against token, and it never touches a Brazilian bank account.

A payment provider sits on top of these. It sources liquidity from one or more of them, or from its own desk, and turns that into a single quote you can execute. The liquidity market explainer covers how those sources fit together, and types of crypto off-ramps covers who you'd deal with directly.

How does a market maker set the spread?

By pricing the risk of the trade it's about to take. Five inputs move the number:

  1. Volatility. The more a currency moves per minute, the wider the spread. A calm USD/EUR afternoon and a jumpy USD/ARS morning are priced differently.
  2. Size. A large order uses up the best-priced inventory and leaves a bigger position to hedge.
  3. Inventory. A market maker already holding too much USDC lowers its bid for more USDC. That's called skewing.
  4. Hedge access. If the other leg (reais, pesos) is hard to source right now, the price reflects it.
  5. Time held. A price that must stay valid for minutes carries more risk than one valid for seconds.

The currency pair matters too. The BIS 2025 Triennial Survey found FX trading reached $9.6 trillion per day in April 2025, with the US dollar on one side of 89% of all trades. Dollar pairs are the deepest in the world. Latin American currencies are traded far less, which is one reason their spreads are wider, as our LatAm liquidity guide explains.

What does that look like in numbers?

Illustrative example. A market maker quotes USDC/BRL at 5.38 bid and 5.42 ask. All numbers are made up for the arithmetic.

  • Mid: (5.38 + 5.42) / 2 = 5.40
  • Full spread: (5.42 - 5.38) / 5.40 x 10,000 = about 74 bps
  • You sell 10,000 USDC at the bid: 10,000 x 5.38 = R$53,800
  • At mid it would have been R$54,000, so you paid R$200, or about 37 bps (half the spread)

Now the maker has bought 2,000,000 USDC this morning and wants fewer dollars. It skews its bid down to 5.37:

  • The next 10,000 USDC: 10,000 x 5.37 = R$53,700
  • Cost vs mid: R$300, or about 56 bps

Same corridor, same size, same minute of the day, a 50% higher cost. Nothing changed in the market. The maker's inventory did. This is why depth tests should repeat across times of day, and why buy and sell rates differ even on the same provider.

What is last look, and why does it matter for a binding quote?

Last look is the market maker's chance to reject a trade after you hit its price. The FX Global Code, Principle 17, defines it as a practice in electronic trading "whereby a Market Participant receiving a trade request has a final opportunity to accept or reject the request against its quoted price," and says firms using it should be transparent and disclose how it works.

For a payment, that's a risk someone has to carry. If a provider passes indicative prices straight through, a rejected or repriced trade lands on you as slippage. A binding quote flips that: the provider commits to the price for the window and deals with its liquidity sources on its own. You either execute at the number you saw, or the quote expires and nothing moves.

That commitment is the outside view of real liquidity. A provider that can't count on its market makers can't afford to bind a price for minutes. On/off-ramp liquidity with live quotes goes deeper on why.

How does a market maker's price become your payout quote?

Through a provider that adds its margin, prices the window, and binds the result. At BlindPay, a payout quote returns:

  • commercial_quotation: the raw market rate when the quote was created.
  • blindpay_quotation: the rate net of BlindPay's fee.
  • sender_amount, receiver_amount, and itemized fee fields, so the margin is visible before you send.
  • expires_at: payout quotes hold for 5 minutes by default. An expired quote is rejected, not executed at a new rate.

On the on-ramp side, large BRL payins can be priced through BlindPay's OTC desk instead of the standard rate. Those OTC payin quotes are BRL to USDT only, start at $5,000 USD equivalent, and expire in 10 seconds.

Either way, you never see the market maker. You see one binding number, the fees that make it up, and a deadline.

What should you ask a provider about its liquidity?

Ask about outcomes, not names. Liquidity partners are rarely disclosed, and you don't need them to judge quality. Six questions:

  1. Is every quote binding for a stated window, and what happens when it expires?
  2. If a liquidity source rejects or reprices a trade inside the window, who absorbs it?
  3. How does the rate change between a $5,000 and a $250,000 quote on the same corridor, at the same minute?
  4. Are the market rate and your margin shown as separate fields?
  5. Does the window or the rate change at certain times of day on my corridors?
  6. Is there an OTC path for large tickets, and what are its minimum and window?

Compare the answers with the FX desk vs stablecoin provider breakdown if you're coming from a bank.

What to do next

Request two payout quotes for the same corridor at once, one small and one large. Compare commercial_quotation to blindpay_quotation on each. That gap is the market maker's spread plus the provider's margin, measured on your own corridor.

FAQ

One API.
Multiple payment rails.

Blind Pay, Inc. (“BlindPay”) is a United States-based financial technology and payments infrastructure company, incorporated in the State of Delaware on May 2, 2024. BlindPay is duly registered as a Money Services Business (“MSB”) with the Financial Crimes Enforcement Network (“FinCEN”) under registration number 31000277566153. BlindPay is not a state-licensed money transmitter and does not, in its own capacity, engage in regulated money transmission services. All such regulated activities are conducted exclusively through, and under the licenses of, duly authorized financial institution partners. BlindPay's role is limited to providing financial technology, virtual account management, payment processing, and related payments infrastructure services that facilitate payment flows and account functionalities. These services are provided in coordination with its licensed partners and in compliance with applicable federal MSB requirements and relevant state regulatory frameworks.

Blind Pay, LLC (“BlindPay”) is a Delaware limited liability company formed on June 24, 2025. BlindPay is duly registered as a Money Services Business (“MSB”) with the Financial Crimes Enforcement Network (“FinCEN”) under registration number 31000318334247 and is listed in the Nationwide Multistate Licensing System (“NMLS”) under NMLS ID #2745309.

BLIND PAY SOCIEDADE PRESTADORA DE SERVIÇOS DE ATIVOS VIRTUAIS LTDA. (“BlindPay”) is a Virtual Asset Service Provider (“VASP”) operating in Brazil. The company is presently completing the regulatory adaptation process required of Virtual Asset Service Provider Companies (SPSAV) under Central Bank of Brazil Resolution No. 520/2025, and remains subject to the transitional regime set forth in Article 88 of that Resolution. Registered address: Avenida Princesa Isabel, nº 15, Sala 1405, Edifício Martinho de Freitas, Centro, Vitória/ES, 29010-361.

BlindPay is a stablecoin API that enables individuals and businesses to move money worldwide.