If you’re used to posting on CEX order books or providing liquidity to AMM pools, the Musubi model is different: you respond to individual quote requests, not a continuous market. Think of it as quoting per-order rather than maintaining a book. The critical difference from anything you’ve done before: every request is fully anonymous.
How RFQs Arrive
When an institution submits a cross-border payment, Musubi broadcasts an anonymized quote request to all registered market makers. You receive:
| Field | Example | Description |
|---|
source_currency | JPYSC0 | What the sender is exchanging |
target_amount | 10,000,000 | How much |
target_currency | USDCx | What they want to receive |
expires_at | 5 minutes from creation | Deadline for quote submission |
That’s it. No sender name, no receiver name, no jurisdiction, no compliance data, no contract identifiers. The request is indistinguishable from any other request of the same size and currency pair.
Unlike CEX order books where you see the full depth, or DEX pools where pricing is algorithmic, here you price each request individually based on flow characteristics — size, currency pair, market conditions — without knowing the counterparty.
Competitive Dynamics
Multiple market makers see the same request simultaneously. Each can submit a quote. The institution (with their custodian) selects the best one.
Selection criteria:
- Best rate — highest target amount for the given source amount
- Slippage guard — the institution may have set a maximum source amount the sender will pay. Quotes below this floor are automatically disqualified.
- Validity — the quote must still be valid (
valid_until not passed) at selection time
If your quote wins, you are notified. If another MM’s quote wins, yours is rejected. You never see the winning quote’s details.
Submitting a Quote
Your quote specifies three fields:
| Field | Description | Example |
|---|
fx_rate | Your offered exchange rate | "112.0" |
target_amount | USDCx you’ll deliver | "11200000" |
valid_until | How long your quote stands | 30 seconds from now |
Consistency rule: target_amount should equal fx_rate * target_amount. Musubi validates this.
Validity window: You control how long your quote is valid via valid_until. Shorter windows reduce your risk exposure; longer windows give the institution more time to select. Typical: 30 seconds.
If market conditions change after you’ve submitted, you can withdraw a pending quote before it’s accepted. Once accepted, the quote is committed.
Quote Lifecycle
| Status | What It Means | What Happens Next |
|---|
| PENDING | Your quote is live, awaiting selection | Wait or withdraw |
| ACCEPTED | You won — your quote was selected | Settlement proceeds automatically |
| REJECTED | Another MM offered a better price | Nothing — no assets move |
| EXPIRED | Your valid_until passed without selection | Nothing — no assets move |
What You Never See
Anonymity is maintained throughout the entire lifecycle — before, during, and after settlement:
| Information | Visible to You? |
|---|
| Sender institution identity | Never |
| Receiver institution identity | Never |
| Sender’s custodian identity | Never |
| Receiver’s custodian identity | Never |
| KYC/AML compliance data | Never |
| Jurisdiction codes | Never |
| Other MMs’ quotes | Never |
| Other MMs’ win/loss | Never |
| Number of competing quotes | Never |
This level of anonymity is enforced at the settlement network protocol level, not by field masking. Your node physically does not receive this data — it is not transmitted to you.
Multiple Quotes
You can submit multiple quotes for the same request (e.g., to update your pricing as market conditions change). Each quote has its own quote_id and its own valid_until. All are evaluated independently at selection time.