Skip to content

Create firm quote (lock price + constraints)

POST
/v2/onramp/quotes

Lock a firm price + constraints with TTL. Gives users a deterministic promise (amount + expiry) before execution. Server recalculates price at request time, enforces guards (minDestinationAmount/slippage), returns locked quote with TTL.

X-API-Key
string

API Key

X-API-Secret
string

API Secret

object
source
required
object
currency
required

Source currency (e.g., PHP)

string
amount
required

Amount (decimal string)

string
paymentRail
required
string
Allowed values: instapay pesonet wire rtgs
destination
required
object
chain
required
string
Allowed values: base ethereum polygon
currencyName
required

Currency name (e.g., PHPX)

string
walletId
required

Wallet ID (UUID)

string
quoteConstraints
required
object
minReceiveAmount

Minimum destination amount user will receive (decimal string)

string
maxSlippageBps

Maximum allowed slippage (decimal string)

string
ttlSeconds

Quote validity duration in seconds

number
jurisdictionCode

Regulatory jurisdiction

string
riskContext
object
ip
string
deviceId
string
geo
string

Locked quote details: amounts, fees, constraints, expiry.

object
quoteId
required

Unique quote identifier

string
status
required

Current quote status

string
Allowed values: firm_locked indicative used expired canceled
request
required
object
source
required
object
currency
required

Source currency (e.g., PHP)

string
amount
required

Amount (decimal string)

string
paymentRail
required
string
Allowed values: instapay pesonet wire rtgs
destination
required
object
chain
required
string
Allowed values: base ethereum polygon
currencyName
required

Currency name (e.g., PHPX)

string
walletId
required

Wallet ID (UUID)

string
quoteConstraints
required
object
minReceiveAmount

Minimum destination amount user will receive (decimal string)

string
maxSlippageBps

Maximum allowed slippage (decimal string)

string
ttlSeconds

Quote validity duration in seconds

number
jurisdictionCode

Regulatory jurisdiction

string
riskContext
object
ip
string
deviceId
string
geo
string
source
required
object
currency
required

Source currency (e.g., PHP)

string
amount
required

Amount (decimal string)

string
paymentRail
required
string
Allowed values: instapay pesonet wire rtgs
destination
required
object
chain
required
string
Allowed values: base ethereum polygon
currencyName
required

Currency name (e.g., PHPX)

string
walletId
required

Wallet ID (UUID)

string
quoteConstraints
required
object
minReceiveAmount

Minimum destination amount user will receive (decimal string)

string
maxSlippageBps

Maximum allowed slippage (decimal string)

string
ttlSeconds

Quote validity duration in seconds

number
jurisdictionCode

Regulatory jurisdiction

string
pricing
required
object
exchangeRate
required

Effective rate PHP → PHPX (after fees/slippage)

string
midRate

Optional mid/indicative rate (pre-fee)

string
fxSpreadBps

Optional spread vs mid

number
amounts
required

Input/output amounts

object
fees
required
object
totalFee
required

Total fees in source currency (decimal string)

string
fiatFundingFee
required

Bank/payment-rail fees (source currency)

string
exchangeFee
required

FX markup/fee (source currency)

string
networkFee
required

On-chain/network fees (source currency)

string
platformFee
required

Platform/service fees (source currency)

string
networkFeeQuote

Raw network fee quoted

object
pricedAt
required

Timestamp when pricing was calculated

string
pricingModelId

Pricing model/version identifier

string
fundingInstructions
required
object
rail
required
string
Allowed values: instapay pesonet wire rtgs
bankCountry
required

Country/region of the funding bank

string
accountName
required
string
accountNumber
required
string
bankCode

BIC/SWIFT or local code

string
reference
required

Reference for auto-reconciliation

string
lifecycle
required
object
createdAt
required
string
expiresAt
required
string
usedAt
string
updatedAt
required
string

Bad Request

Unauthorized

Forbidden

Not Found

Internal Server Error