Payouts Quotes

Prices a payout. Send exactly one of bank_account_id or payable_id. request_amount is in cents (1000 means 10.00) and currency_type says whether it is what the sender pays or what the receiver gets. The quote expires 5 minutes after creation (expires_at is epoch milliseconds) and is single-use: execute it with Create Payout on EVM Chains for BlindPay-managed wallets on any network, Solana included, or with the Solana or Stellar payout endpoints for self-custodied wallets.

post/v1/instances/{instance_id}/quotes

Request

  • Base URL: https://blindpay.com (the document declares no server; this is the origin it was published from)
  • URL: https://blindpay.com/v1/instances/{instance_id}/quotes
  • Auth: HTTP bearer

Path parameters

instance_idstring required
Example:in_000000000000

Headers

Idempotency-Keystring

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.

Example:a1b2c3d4-e5f6-7890-abcd-ef1234567890

Request body

bank_account_idstring nullable

The bank account to pay. Exactly one of bank_account_id or payable_id must be set.

payable_idstring nullable

The payable to pay (boleto / PIX QR code). Exactly one of bank_account_id or payable_id must be set. The amount comes from the payable, so request_amount and currency_type are not accepted.

network'base' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'arbitrum' | 'polygon' | 'polygon_amoy' | 'ethereum' | 'stellar' | 'stellar_testnet' | 'tron' | 'solana' | 'solana_devnet' | 'tempo' | 'tempo_testnet' | 'arc' | 'arc_testnet' required

Check blindpay available networks

token'USDC' | 'USDT' | 'USDB' required

Check blindpay available tokens

descriptionstring nullable
partner_fee_idstring nullable
refund_wallet_addressstring nullable

Optional wallet address to receive the refund if this payout fails or is refunded. Must be a valid address on the quote network. When omitted, refunds are sent back to the sender wallet address.

currency_type'sender' | 'receiver'
cover_feesboolean nullable

If true, the sender will cover the fees. If false, the customer will cover the fees. Omitting it means false on bank account quotes. Payable quotes are always true.

request_amountinteger nullable

1000 represents 10.00, 2050 represents 20.50. Minimum 500 for bank account quotes; derived from the payable for payable quotes.

Example request

{
  "bank_account_id": "ba_000000000000",
  "payable_id": "pb_000000000000",
  "network": "sepolia",
  "token": "USDC",
  "description": "Memo code or description, only works with USD and BRL",
  "partner_fee_id": "pf_000000000000",
  "refund_wallet_address": "0xDD6a3aD0949396e57C7738ba8FC1A46A5a1C372C",
  "currency_type": "sender",
  "cover_fees": true,
  "request_amount": 1000
}

Response

Quote creation details

idstring required
expires_atnumber nullable required

Epoch timestamp in milliseconds after which the quote can no longer be executed, 5 minutes after creation. For SEPA payouts this may be shorter if Circle CPN returns an earlier expiry.

commercial_quotationnumber nullable required

1 USD = 4.95 BRL

blindpay_quotationnumber nullable required

1 USD = 4.85 BRL (commercial quotation - (blindpay taxes))

receiver_amountnumber nullable required

52.40 BRL

sender_amountnumber nullable required

10.10 USDC needs to be sent to bank account blockchain address

partner_fee_amountnumber nullable

1.5 USDC

flat_feenumber nullable

0.5 USDC

billing_fee_amountnumber nullable

Billing fee in cents (charged via invoice at the end of the month)

customer_local_amountnumber nullable

Estimated amount in the currency of recipient bank account

descriptionstring nullable

Example response

{
  "id": "qu_000000000000",
  "expires_at": 1712958191000,
  "commercial_quotation": 495,
  "blindpay_quotation": 485,
  "receiver_amount": 5240,
  "sender_amount": 1010,
  "partner_fee_amount": 150,
  "flat_fee": 50,
  "billing_fee_amount": 50,
  "contract": {
    "abi": [
      {}
    ],
    "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
    "functionName": "approve",
    "blindpayContractAddress": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
    "amount": "1000000000000000000",
    "network": {
      "name": "Ethereum",
      "chainId": 1
    }
  },
  "customer_local_amount": 1000,
  "description": "Memo code or description, only works with USD and BRL"
}

Changes

    • info

      added the new arc enum value to the request property

    • info

      added the new arc_testnet enum value to the request property