Generates a new financial quote for a currency transfer or payment based on the provided parameters. The quote will include rates, fees, and estimated amounts.
Behavior and validations:
- Required fields:
fromCurrency,toCurrencyand at least one offromAmountortoAmount. chainis optional but when provided must be one of the supported chains.- Currency values must be valid symbols (see
currencyEnum). - The API returns the calculated quote, including
fromAmount,toAmount, fees and expiration.
Example usage: POST /third-party-service/penny/quotes Body: { "fromCurrency": "MXN", "toCurrency": "USDC", "fromAmount": "100.00", "chain": "MATIC" }
Supported chains (when applicable):
- ETH, MATIC, XLM, OP, ARB, BASE, TRX, SOL, CELO, AVAX, BNB.
- Note: If target chain is XLM and on-chain destination is used, downstream flows may require a
memo.
- Note: If target chain is XLM and on-chain destination is used, downstream flows may require a
Notes:
- Request must include service headers
api-keyandapi-secret. - The returned quote is indicative and may expire; callers should check the expiration and re-request when necessary.
Generates a new quote for a currency transfer or payment based on the provided parameters. The response includes conversion rates, fees, and estimated amounts.
| Rule | Description |
|---|---|
| Required fields | fromCurrency, toCurrency, and at least one of fromAmount or toAmount. |
| Optional field | chain — when provided, must be one of the supported chains. |
| Currency validation | All currency codes must be valid ISO or supported symbols (see currencyEnum). |
| Response content | Returns a calculated quote including fromAmount, toAmount, fees, and expiration. |
🔗 Supported Chains
When applicable, chain must be one of: ETH, MATIC, XLM, OP, ARB, BASE, TRX, SOL, CELO, AVAX, BNB.
Note: If the target chain is XLM and an on-chain destination is used, downstream flows may require a memo field.
🧩 Headers
| Header | Description |
|---|---|
api-key | Service API key (required) |
api-secret | Service API secret (required) |
curl --location --request POST 'https://api.example.com/third-party-service/penny/quotes' \
--header 'Content-Type: application/json' \
--header 'api-key: xxxxxxx' \
--header 'api-secret: xxxxxxx' \
--data '{
"fromCurrency": "MXN",
"toCurrency": "USDC",
"fromAmount": "100.00",
"chain": "MATIC"
}'
Response example:
{
"quoteId": "b62f4e2b-2e7e-4c41-8d20-90b3f85a8f22",
"fromCurrency": "MXN",
"toCurrency": "USDC",
"fromAmount": "100.00",
"toAmount": "5.83",
"fees": {
"networkFee": "0.10",
"serviceFee": "0.05"
},
"chain": "MATIC",
"expiresAt": "2025-10-24T14:45:00Z"
}
Quotes are indicative and may expire. Always check the expiresAt timestamp and re-request a new quote if expired.
