> ## Documentation Index
> Fetch the complete documentation index at: https://docs.privy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Fixed rates

> Deliver the exact input amount across chains, with your app covering the transfer and routing costs

Fixed rates let a [cross-chain transfer](/wallets/actions/transfer/bridging) deliver its exact input amount, handling any slippage and bridging or swapping fees invisibly. A wallet that sends 100 USDC on Solana delivers 100 USDT on Arbitrum.

This suits payouts, remittances, and any flow where a recipient expects an exact figure. Without fixed rates, bridging fees, swap fees, and slippage all come out of the transfer, so the amount that arrives is smaller than the amount sent.

## How it works

The app pays the routing cost so it does not reduce the amount delivered to the recipient. Prepaid accounts pay from their credit balance. Postpaid accounts pay through their monthly invoice.

The prepaid balance must cover the sponsored fees before the transfer can proceed. Add credits if the balance is insufficient. View [usage and billing](/wallets/gas-and-asset-management/usage-billing/overview) for credit management and [usage webhooks](/wallets/gas-and-asset-management/usage-billing/usage-webhooks) for charge events.

## Setup

Fee sponsorship supports prepaid and postpaid billing.

<Steps>
  <Step title="Set up billing">
    <Tabs>
      <Tab title="Prepaid">
        Open **Fee sponsorship** in the [Privy
        Dashboard](https://dashboard.privy.io/apps?page=fee-sponsorship) for the app. Select **Add
        credits** and complete the purchase. Credits are a balance purchased in advance. Privy
        deducts [prepaid
        credits](/wallets/gas-and-asset-management/usage-billing/overview#purchasing-credits-prepaid)
        whenever it executes a sponsored action for the app, such as sponsoring gas or swap provider
        fees.
      </Tab>

      <Tab title="Postpaid">
        Postpaid billing is available for Enterprise customers. Contact the Privy account manager or
        [sales@privy.io](mailto:sales@privy.io) to enable [postpaid
        billing](/wallets/gas-and-asset-management/usage-billing/overview#choosing-your-plan) for
        the account. Sponsored fees appear on the monthly invoice, so no prepaid credits are
        required.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Enable gas sponsorship">
    Open the app's [**Fee sponsorship**](https://dashboard.privy.io/apps?page=fee-sponsorship) page
    and turn on **Sponsor gas fees** to cover network gas. Under **Supported chains**, select the
    networks where the app will sponsor gas. See the [gas sponsorship setup
    guide](/wallets/gas-and-asset-management/gas/setup) for details.
  </Step>

  <Step title="Enable swap provider fee sponsorship">
    Open the app's [**Fee sponsorship**](https://dashboard.privy.io/apps?page=fee-sponsorship) page
    and turn on **Sponsor swap provider fees**. Sponsorship is supported for all routes.
  </Step>
</Steps>

The setting applies automatically to all supported routes for [transfers](/wallets/actions/transfer/bridging), [swaps](/wallets/actions/swap/overview), and [crypto deposit addresses](/wallets/funding/crypto-deposits/overview). No request parameter or integration change is required.

## Confirming the delivered amount

Use the [quote endpoint](/wallets/actions/transfer/quote) and read `estimated_output_amount` to review the expected output. On non-fixed rate routes, the final amount received can differ due to slippage.

<View title="NodeJS" icon="node-js">
  ```typescript theme={"system"}
  // On a fixed-rate route, estimated_output_amount matches the amount sent.
  const quote = await privy.wallets().transferQuote('insert-wallet-id', {
    amount: '100.0',
    amount_type: 'exact_input',
    source: {
      asset: 'usdc',
      chain: 'solana',
    },
    destination: {
      address: '0xRecipientAddress',
      asset: 'usdt',
      chain: 'arbitrum',
    },
  });
  ```
</View>

<Tip>
  On a fixed-rate route, `amount_type: 'exact_input'` already delivers an exact figure to the
  recipient, so `exact_output` is rarely needed. See [amount
  types](/wallets/actions/transfer/bridging#amount-types) for the difference between the two.
</Tip>

## Limitations

<AccordionGroup>
  <Accordion title="Applies to routed transfers only">
    Fixed rates cover the cost of routing a transfer between chains or between assets. Same-chain,
    same-asset transfers have no routing cost to cover. [Gas
    sponsorship](/wallets/gas-and-asset-management/gas/overview) covers network gas separately.
  </Accordion>

  <Accordion title="Configured per app, not per transfer">
    Fixed rates are a property of the app, so an app cannot turn them on for some transfers and not
    others.
  </Accordion>

  <Accordion title="Route availability still applies">
    Fixed rates change how routing costs are paid, not which routes exist. Available liquidity and
    supported asset pairs are unchanged. See the [bridging
    limitations](/wallets/actions/transfer/bridging#limitations) for supported routes.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Usage and billing" icon="file-invoice-dollar" href="/wallets/gas-and-asset-management/usage-billing/overview" arrow>
    Manage prepaid credits or review postpaid billing.
  </Card>

  <Card title="Usage webhooks" icon="webhook" href="/wallets/gas-and-asset-management/usage-billing/usage-webhooks" arrow>
    Receive an event each time Privy records a charge.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.