What is a Quote?
A quote locks in:- An exchange rate between two currencies
- Total fees for the transaction
- Exact amounts to be sent and received
- Payment instructions (if JIT funding is needed)
- An expiration time (typically 1-5 minutes, up to 15 minutes depending on the payment type)
When Do You Need a Quote?
- Quotes Required
- Quotes Optional
Use quotes for:
- Cross-currency transfers (USD → EUR, BRL → MXN)
- Fiat-to-crypto conversion (USD → BTC)
- Crypto-to-fiat conversion (BTC → USD)
- UMA payments (always require quotes)
- JIT funded payments (need payment instructions)
Creating a Quote
Basic Cross-Currency Quote
This is a basic quote for a cross-currency transfer from an internal account to an external account, which were pre-created as described in the Account Model section.Locked Currency Side
You can lock either the sending or receiving amount:- Lock Sending Amount
- Lock Receiving Amount
Use when: Customer knows exactly how much they want to sendGrid calculates what the recipient will receive based on current exchange rates.
Funding Models
Grid supports two funding models for quotes:Prefunded (From Internal Account)
Source is an existing internal account with available balance:- Funds are debited immediately when quote is executed
- No payment instructions needed
- Best for: Customers with pre-loaded balances
Just-In-Time (JIT) Funding
Source is the customer ID or the platform itself — Grid provides payment instructions:- Customer sends funds to provided account with reference
- Quote executes automatically when Grid receives payment
- Best for: On-demand payments without maintaining balances
Executing a Quote
For a prefunded quote or one from a pullable external account source, once a quote is created, execute it before it expires:Execution Timing
- Prefunded
- JIT Funded
- Transaction created with status
PENDING - Funds debited from source account immediately
- Settlement begins right away
Immediate Execution
For market rate execution without quote approval, use theimmediatelyExecute flag:
Immediate quote execution
Response
Response
- Quote is created and executed in one API call
- Best for: Rewards distribution, micro-payments, time-sensitive transfers
immediatelyExecute can only be used for quotes with a source that is either an internal account or has direct pull functionality (e.g., ACH pull with an external account).Fees
All fees are transparently displayed in the quote response:counterpartyMultiplier: Exchange rate from mSATs to receiving currency (1.08 = 1 mSAT = 1.08 cents EUR)counterpartyFixedFee: Fixed fee charged by counterparty (10 cents EUR)gridApiMultiplier: Exchange rate from sending currency to mSATs including variable fees (0.925 = $1 USD = 0.925 mSATs)gridApiFixedFee: Fixed fee charged by Grid API (10 cents USD)gridApiVariableFeeRate: Variable fee rate as percentage (0.003 = 0.3%)gridApiVariableFeeAmount: Variable fee amount (30 cents USD for $1,000 transaction)
- Customer sends: $1,000
- Fees: $5.00
- Amount converted: $995.00
- Recipient receives: €915.40 (at 0.92 rate)
Best Practices
Always show the quote to customers before executing
Always show the quote to customers before executing
Let customers review the exchange rate, fees, and final amounts before committing:
Handle expiration gracefully
Handle expiration gracefully
Store quote parameters so you can recreate expired quotes:
Monitor quote status via webhooks
Monitor quote status via webhooks
Subscribe to quote-related webhooks: