---
title: "Create a Cross-border Quote"
method: POST
path: "/api/b2b/cross-border/requests/quotes"
tags: ["Cross-border Requests"]
---

# Create a Cross-border Quote

`POST /api/b2b/cross-border/requests/quotes`

## Request

- Base URL: `https://api-v2.honeycoin.app`
- URL: `https://api-v2.honeycoin.app/api/b2b/cross-border/requests/quotes`
- Auth: API key in header `Authorization`

Obtain a single-use quote using senderAmount, senderCurrency and receiverCurrency. Match the request's exact source amount and currencies. Save data.id as quoteId, display the returned amounts and fee, and use expiresAt in Unix milliseconds. receiverAmount is after the fee deduction; do not deduct it again or compute it from exchangeRate. This call does not create a request or initiate a payment. Sandbox uses the same suffix under /api/sandbox/b2b/cross-border/requests with a sandbox bearer token.

## Request body

- CrossBorderCreateQuote
  - `senderAmount` number, required: Match the request's senderAmount, originally supplied as amount.
  - `senderCurrency` 'KES' | 'NGN', required: Match the request's senderCurrency, originally supplied as chargeCurrency.
  - `receiverCurrency` 'CNY', required: Match the request's receiverCurrency.

## Response `200`

Successful response.

- object
  - `success` true, required
  - `data` CrossBorderQuoteResource, required: A single-use quote. Use the returned expiry and amounts; quote creation does not initiate a payment.
    - `id` string, required: Quote ID used to initiate the charge.
    - `senderAmount` number, required
    - `senderCurrency` string, required
    - `receiverAmount` number, required
    - `receiverCurrency` string, required
    - `exchangeRate` number, required
    - `expiresAt` integer, required: Quote expiry as a Unix timestamp in milliseconds. Expiry does not cancel an initiated charge.
    - `status` 'active' | 'consumed', required: active means unused; check expiresAt separately. consumed quotes cannot be reused.
    - `feeAmount` number, required: Quoted fee, already deducted from receiverAmount.
    - `feeCurrency` string, required: Currency of feeAmount.
    - `requestId` string, nullable: Request that used the quote, or null before consumption. Returned by quote lookup.
    - `createdAt` integer: Unix timestamp in milliseconds. Returned by quote lookup.

## Other responses

- `202`: An identical request is still being processed. Wait and reconcile before retrying; no resource ID is included.
- `400`: Invalid quote fields or bearer token.
- `422`: INVALID_RATE. No usable quote was returned. Do not initiate a charge from this response; retry quote creation later and contact support if it persists.
- `503`: EXCHANGE_RATE_UNAVAILABLE. Wait and retry quote creation.

## Changes

- **2026-11-03** `fcb58b0ef441`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/honeycoin/apis/honeycoin-v3-api-official/changes/api/b2b/cross-border/requests/quotes/post.md)

---

[API](https://skmtc.dev/honeycoin/apis/honeycoin-v3-api-official.md) - [All operations](https://skmtc.dev/honeycoin/apis/honeycoin-v3-api-official/llms.txt) - [OpenAPI document](https://skmtc.dev/honeycoin/apis/honeycoin-v3-api-official/revisions/fcb58b0ef441?raw)
