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

# Create Payin Quote

`POST /v1/instances/{instance_id}/payin-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

- CreatePayinQuoteIn
  - `blockchain_wallet_id` string, nullable
  - `wallet_id` string, nullable
  - `currency_type` '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 — 1000 represents 10.00, 2050 represents 20.50
  - `payment_method` 'ach' | 'wire' | 'pix' | 'ted' | 'spei' | 'transfers' | 'pse' | 'international_swift' | 'rtp', required
  - `token` 'USDC' | 'USDT' | 'USDB', required
  - `partner_fee_id` string, nullable
  - `payer_rules` object, nullable
    - `pix_allowed_tax_ids` string[], nullable
    - `transfers_allowed_tax_id` string, nullable
    - `pse_allowed_tax_ids` string[], nullable
    - `pse_full_name` string, nullable
    - `pse_document_type` 'CC' | 'NIT', nullable
    - `pse_document_number` string, nullable
    - `pse_email` string, email, nullable
    - `pse_phone` string, nullable
    - `pse_bank_code` string, nullable
  - `is_otc` boolean, nullable — If true, the payin quote is for an OTC (Over the Counter) transaction
  - `funding_bank_account_id` string, nullable — Plaid-connected bank account that funds the payin by ach pull. Only valid when payment_method is ach.

## Response `200`

Payin Quote creation details

- CreatePayinQuoteOut
  - `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, nullable, required — 10.10 USDC
  - `sender_amount` number, nullable, required — 52.40 BRL needs to be sent in a pix transfer
  - `partner_fee_amount` number, nullable — 1.5 USDC
  - `flat_fee` number, nullable, required — 0.5 USDC
  - `billing_fee_amount` number, nullable — BlindPay fee in cents accrued to your billing cycle (charged at the end of the month). Virtual account deposits below $100.00 always accrue here, so small deposits are delivered in full.
  - `is_otc` boolean, nullable — If true, the payin quote is for an OTC (Over the Counter) transaction

## Other responses

- `400` — Possible error codes: `BANK_ACCOUNTS_PLAID_NOT_ENABLED`, `BLOCKCHAIN_NETWORK_NOT_SUPPORTED`, `CUSTOMERS_KYC_NOT_APPROVED`, `CUSTOMERS_NOT_FOUND`, `FEES_PARTNER_FEE_EXCEEDED`, `LIMITS_AMOUNT_OUT_OF_RANGE`, `LIMITS_VOLUME_EXCEEDED`, `PAYINS_FUNDING_ACCOUNT_INVALID`, `PAYINS_METHOD_NOT_SUPPORTED`, `PAYINS_TAX_ID_REQUIRED`, `PAYOUTS_AMOUNT_BELOW_MINIMUM`, `QUOTES_OTC_NOT_SUPPORTED`, `TOS_NOT_ACCEPTED`, `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.
- `404` — Possible error codes: `FEES_NOT_FOUND`, `WALLETS_NOT_FOUND`. 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`, `QUOTES_RATE_UNAVAILABLE`. 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)
