---
title: "Does the blockchain network change your off-ramp quote? What moves and what doesn't"
seoTitle: "Does the network or token change your off-ramp quote?"
description: "Network and token are inputs to every payout quote. Which quote lines can change by chain, where gas sits, and how to compare two networks fairly."
date: "2026-10-06"
updated: "2026-10-06"
category: "stablecoins"
author: "BlindPay Team"
faq:
  - q: "Does the blockchain I send from change my off-ramp exchange rate?"
    a: "The network is an input to the quote, but the main thing it changes is the fee side, not the bank rail or the recipient's details. At BlindPay, fees are scheduled per payment rail and per blockchain network. The reliable way to see the effect is to request the same payout on two networks and compare commercial_quotation, the fee fields, and receiver_amount."
  - q: "Where do I see BlindPay's fees for each network?"
    a: "Call GET /v1/instances/{instance_id}/billing/fees with an owner or admin key. It returns a fee object per payment rail and per blockchain network, each with payout_flat in cents and payout_percentage in basis points, plus the payin equivalents. Every quote also discloses the exact fees for that payment before you execute it."
  - q: "Is gas included in an off-ramp quote?"
    a: "No. Gas is the blockchain's own fee for moving the tokens, paid by whoever signs the transaction, usually in the chain's native token. It doesn't appear in the quote's fee lines. On most chains it is small next to the payment, but on EVM chains each payout from an external wallet also needs an approve transaction, which costs gas too."
  - q: "Is USDT or USDC cheaper to off-ramp?"
    a: "It depends on the network and the payout path, so compare quotes rather than tokens. One documented case: on a BlindPay offramp wallet paying out in USD, USDT deposits convert at a flat 1:1 rate with no market spread, while USDC deposits use the live market rate. The per-chain additional fee on that offramp wallet then differs by network."
  - q: "What happens if I quote a token on a network where it isn't deployed?"
    a: "The quote request fails with a 400 error that names the pair. At BlindPay, USDC payouts run on Ethereum, Polygon, Base, Arbitrum, Tempo, Arc, Stellar, and Solana, and USDT payouts run on Ethereum, Polygon, Tempo, Solana, and Tron. Development instances use USDB on testnets only."
---

Partly. On BlindPay, every payout quote takes a `network` and a `token`, and fees are scheduled per payment rail and per blockchain network, so the fee lines can differ by chain. The bank rail, the recipient, and the quote's window don't change. Gas sits outside the quote. To know the real difference, quote the same payout on two networks and compare.

Short version: the chain mostly changes what you pay to get the stablecoins in, not how the local currency gets out.

**Key takeaways**

- `network` and `token` are required inputs to a payout quote. An incompatible pair fails with a 400.
- Fees are set per rail and per network. Read your schedule from `GET /billing/fees`, then confirm on a live quote.
- Gas is paid on-chain by the signer and is not a quote line. EVM payouts from external wallets add an `approve` transaction.
- Offramp wallets add a fixed per-chain fee: 15 USDT on Tron, 1 USDC on Ethereum, 0.50 USDC on Solana, zero on Polygon, Arbitrum, Base, Tempo, and Arc.
- Compare networks on `receiver_amount` for the same request, not on token or chain reputation.

## Why does a payout quote ask for a network and token?

Because the quote prices the funding leg as well as the conversion. The stablecoins have to leave a wallet on a specific chain, and BlindPay has to know which token contract to pull from and how to settle it.

The request to `POST /v1/instances/{instance_id}/quotes` always carries both:

```json
{
  "bank_account_id": "ba_000000000000",
  "currency_type": "sender",
  "cover_fees": false,
  "request_amount": 1000000,
  "network": "polygon",
  "token": "USDC"
}
```

For EVM networks, the response also returns a `contract` object: the token contract address, the ABI, BlindPay's address to approve as spender, and the exact decimal-adjusted amount. Stellar and Solana don't use that allowance pattern; Stellar payouts sign an XDR transaction and Solana payouts sign a token delegation. Same quote, different signing step. The [payout quotes reference](/docs/payout-quotes) has every field.

## Which parts of a quote can change with the network or token?

Some lines can. Others are fixed by the bank side of the payment and don't care which chain the USDC came from.

| Part of the payout | Can network or token change it? | Where you see it |
| --- | --- | --- |
| Market rate (`commercial_quotation`) | Possibly, by token; check by quoting both | Quote response |
| BlindPay's fee lines (`flat_fee`, applied rate) | Yes, fees are scheduled per rail and per network | Quote response, `GET /billing/fees` |
| Partner fee (`partner_fee_amount`) | No, partner fees are set per payin and per payout | Quote response |
| Gas | Yes, and it sits outside the quote | Your wallet's transaction |
| Signing step | Yes: `approve` on EVM, delegation on Solana, XDR on Stellar | Payout tutorials |
| Offramp wallet additional fee and minimum | Yes, fixed per chain | Offramp wallet docs |
| Bank rail, recipient, arrival time | No | Bank account |
| Quote window | No, set by quote type and rail | `expires_at` |

The rule for the first row: don't assume. Request two quotes a few seconds apart, identical except for `network` or `token`, and diff them. [Where the exchange rate gets fixed](/resources/more/where-is-the-exchange-rate-set-onramp-offramp) explains which line holds which part of the price.

## How do you read your fee schedule per network?

Call `GET /v1/instances/{instance_id}/billing/fees` with an owner or admin key. It returns one fee object per payment rail and one per blockchain network configured for your instance.

The [billing reference](/docs/learn/billing) lists the rails (`ach`, `domestic_wire`, `rtp`, `international_swift`, `pix`, `pix_safe`, `ted`, `ach_colombia`, `transfers_3`, `spei`, `sepa`) and the networks (`tron`, `ethereum`, `polygon`, `base`, `arbitrum`, `stellar`, `solana`). Each object has four fields:

| Field | Unit | Meaning |
| --- | --- | --- |
| `payout_flat` | Cents | Flat fee per payout |
| `payout_percentage` | Basis points (`50` = 0.50%) | Percentage fee per payout |
| `payin_flat` | Cents | Flat fee per payin |
| `payin_percentage` | Basis points | Percentage fee per payin |

BlindPay doesn't publish a flat rate card. The schedule is your instance's configuration, and every quote discloses the exact fee for that payment before you execute. Use the schedule to plan and the quote to decide. [Stablecoin off-ramp fees explained](/resources/more/stablecoin-off-ramp-fees-explained) covers the fee types more broadly.

## What does a network comparison look like?

**Illustrative example.** A team pays out 10,000 USDC to a Pix account and quotes the same request on two networks. The numbers are made up for the arithmetic, not BlindPay pricing.

| | Quote on network A | Quote on network B |
| --- | --- | --- |
| `request_amount` (sender side) | 10,000.00 USDC | 10,000.00 USDC |
| `commercial_quotation` | 5.40 BRL per USDC | 5.40 BRL per USDC |
| Extra network-level fee | 0.00 USDC | 1.00 USDC |
| Effective rate | 5.373 | 5.373 |
| `receiver_amount` | R$53,730.00 | R$53,724.63 |

Network B delivers 1.00 x 5.373 = R$5.37 less. On one payout, noise. On 2,000 payouts a month, R$10,746 less for the same USDC. Since the market rate matched, the whole difference is fees, which is what you'd confirm in the fee fields.

**Worked example with documented offramp wallet fees.** Offramp wallets, deposit addresses that pay out to a linked bank account automatically, carry a fixed additional fee per chain, per the [offramp wallet docs](/docs/offramp-wallets):

| Chain | Tokens on an offramp wallet | Minimum | Additional fee | Share of a 250 payment |
| --- | --- | --- | --- | --- |
| Polygon | USDC, USDT | Fees only | 0 | 0.0% |
| Arbitrum, Base, Tempo, Arc | USDC | Fees only | 0 | 0.0% |
| Solana | USDC | 50 USDC | 0.50 USDC | 0.2% |
| Ethereum | USDC | Fees only | 1 USDC | 0.4% |
| Tron | USDT | 200 USDT | 15 USDT | 6.0% |

The math: 15 ÷ 250 = 6.0% on Tron, against 0% for the same USDT on Polygon. For small recurring payouts, the chain is the biggest fee decision you make. More on the mechanism in [what an off-ramp wallet is](/resources/more/what-is-an-off-ramp-wallet).

## Does USDC vs USDT change the rate?

It can, depending on the path. The same docs give one concrete case: on an offramp wallet paying out in USD, USDT deposits convert at a flat 1:1 rate with no market spread, while USDC deposits use the live market rate.

For local-currency payouts, quote both tokens and compare `commercial_quotation`. Token choice is also constrained by the chain. Per [BlindPay's supported chains](/docs/kb/supported-chains), USDC payouts run on Ethereum, Polygon, Base, Arbitrum, Tempo, Arc, Stellar, and Solana, and USDT payouts run on Ethereum, Polygon, Tempo, Solana, and Tron. Circle lists its [USDC contract addresses](https://developers.circle.com/stablecoins/usdc-contract-addresses) per chain, and Tether lists its [supported protocols](https://tether.to/en/supported-protocols/).

Mistakes surface early: a token on a chain where it isn't deployed fails at quote time with a 400 that names the pair, before any money moves. [USDC vs USDT for payments](/resources/more/usdc-vs-usdt-for-payments) compares the tokens themselves.

## Where does gas fit?

Outside the quote. Gas is the chain's fee for processing your transaction, paid by whoever signs it, and it never shows up in `flat_fee` or `receiver_amount`.

On most chains you pay it in the native token: ETH on Ethereum, per [ethereum.org](https://ethereum.org/en/developers/docs/gas/), SOL on Solana, per [Solana's fee docs](https://solana.com/docs/core/fees), and bandwidth or energy on Tron, per [Tron's resource model](https://developers.tron.network/docs/resource-model). Arc uses USDC as its gas token.

On EVM payouts from an external wallet, your wallet signs an `approve` call for the quoted amount, and that transaction needs gas. Funding from a BlindPay-managed wallet skips the client-side signing, but managed wallets are in beta and custodial. [Who pays gas fees](/resources/more/who-pays-gas-fees-stablecoin-payments) breaks this down by flow.

## Does the network change how fast the money arrives?

Only the on-chain part. The rail decides the rest. Pix and SPEI deliver in minutes whatever chain funded them, and a SEPA payout's crypto leg always runs on Polygon regardless of which network you funded from. That doesn't change your API call, but it can change the on-chain timing you observe.

Finality by chain is covered in [which network to off-ramp on](/resources/more/best-network-to-off-ramp-stablecoins). Choose by token support first, then by the fee lines on a real quote, then by gas and finality. For how live quotes behave when the local currency moves, see [live quotes and volatile currencies](/resources/more/live-quotes-volatile-currencies-latin-america), and the [glossary](/resources/more/onramp-offramp-liquidity-glossary) for any term here.

## What to do next

Pull your fee schedule from `GET /billing/fees`, then request the same payout quote on your two most likely networks and diff `receiver_amount`. Ten minutes, and you'll know which chain to default to. The [billing reference](/docs/learn/billing) has the request.
