---
title: "Create Transfer Quote"
method: POST
path: "/v1/instances/{instance_id}/transfer-quotes"
tags: ["Transfer Quotes"]
---

# Create Transfer Quote

`POST /v1/instances/{instance_id}/transfer-quotes`

## Path parameters

- `instance_id` string, required

## Headers

- `Idempotency-Key` string — Optional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

## Request body

- CreateTransferQuoteIn
  - `wallet_id` string, required
  - `amount_reference` 'sender' | 'receiver', required
  - `cover_fees` boolean, nullable — If true, the sender will cover the fees. If false, the customer will cover the fees.
  - `request_amount` integer, required — 100 represents 1, 2050 represents 20.50
  - `sender_token` 'USDC' | 'USDT' | 'USDB', required
  - `customer_wallet_address` string, required
  - `customer_token` 'USDC' | 'USDT' | 'USDB', required
  - `customer_network` 'base' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'arbitrum' | 'polygon' | 'polygon_amoy' | 'ethereum' | 'stellar' | 'stellar_testnet' | 'tron' | 'solana' | 'solana_devnet' | 'tempo' | 'tempo_testnet', required
  - `partner_fee_id` string, nullable

## Response `200`

Transfer Quote creation details

- CreateTransferQuoteOut
  - `id` string, required
  - `expires_at` number, nullable, required — Epoch unix timestamp that represents the final datetime to transaction be received on blockchain
  - `commercial_quotation` number, nullable, required — 1 USD = 4.95 BRL
  - `blindpay_quotation` number, nullable, required — 1 USD = 5.05 BRL (commercial quotation + (blindpay taxes))
  - `receiver_amount` number, required — 10.10 USDC
  - `sender_amount` number, required — 52.40 BRL needs to be sent in a pix transfer
  - `partner_fee_amount` number, nullable — 1.5 USDC
  - `flat_fee` number, required — 0.5 USDC

## Other responses

- `400` — Possible error codes: `BLOCKCHAIN_NETWORK_NOT_SUPPORTED`, `CUSTOMERS_KYC_NOT_APPROVED`, `VALIDATION_FAILED`. See the Error responses section for retry semantics.
- `401` — Possible error codes: `AUTH_UNAUTHORIZED`. See the Error responses section for retry semantics.
- `403` — Possible error codes: `AUTH_FORBIDDEN`. See the Error responses section for retry semantics.
- `429` — Possible error codes: `AUTH_RATE_LIMITED`. See the Error responses section for retry semantics.
- `500` — Possible error codes: `INTERNAL_ERROR`. See the Error responses section for retry semantics.

---

[API](https://skmtc.dev/blindpay/apis/blindpay-api.md) · [All operations](https://skmtc.dev/blindpay/apis/blindpay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/blindpay/blindpay-api/revisions/470de27afb7b/schema)
