---
title: "Create a Dev Fee Config"
method: POST
path: "/dev_fee_configs"
tags: ["Developer Fees"]
---

# Create a Dev Fee Config

`POST /dev_fee_configs`

## Request

- Base URL: `https://api.bridge.xyz/v0`
- URL: `https://api.bridge.xyz/v0/dev_fee_configs`
- Auth: API key in header `Api-Key`

Beta: available by request only. Contact Bridge to enable this feature for your developer account.

Create a Dev Fee Config. Assign it to customers and Bridge charges the developer fee it describes on every transfer, virtual account deposit and liquidation address drain of the matching type for those customers.

## Headers

- `Idempotency-Key` string, required

## Request body

- union
  - OnrampDevFeeConfig
    - `id` string, required: A UUID that uniquely identifies a resource
    - `name` string, required: A display name for this config.
    - `description` string, nullable: An optional longer description of this config.
    - `type` 'onramp', required: The kind of money movement this config prices. A customer can have at most one config of each type. - `onramp`: fiat to crypto, for example USD to USDC. Fees are charged in the source currency. - `offramp`: crypto to fiat, for example USDC to EUR. Fees are charged in the destination currency. - `crypto_to_crypto`: for example USDT to USDC. Fees are charged in the destination currency.
    - `rail_fee_bearer` 'customer' | 'developer': Who pays Bridge's rail fee, such as a wire fee. - `customer`: Bridge takes its rail fee from the transfer. The developer is never billed for it. - `developer`: the rail fee is not taken from the transfer. Bridge bills it to the developer.
    - `percent` string, number, required: A developer fee percent. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
    - `created_at` string, date-time, required: Time of creation of the Dev Fee Config
    - `updated_at` string, date-time, required: Time of most recent update of the Dev Fee Config
    - `by_source_currency` DevFeeConfigFeeCurrencyMap: Pricing keyed by currency on the side the fee is charged in. Fixed, minimum, maximum and rail overrides are only accepted here.
    - `by_destination_currency` DevFeeConfigPercentOnlyMap: Percent overrides keyed by currency on the side the fee is not charged in. If both sides set a percent for a transfer, the higher one wins.
  - OfframpDevFeeConfig
    - `id` string, required: A UUID that uniquely identifies a resource
    - `name` string, required: A display name for this config.
    - `description` string, nullable: An optional longer description of this config.
    - `type` 'offramp', required: The kind of money movement this config prices. A customer can have at most one config of each type. - `onramp`: fiat to crypto, for example USD to USDC. Fees are charged in the source currency. - `offramp`: crypto to fiat, for example USDC to EUR. Fees are charged in the destination currency. - `crypto_to_crypto`: for example USDT to USDC. Fees are charged in the destination currency.
    - `rail_fee_bearer` 'customer' | 'developer': Who pays Bridge's rail fee, such as a wire fee. - `customer`: Bridge takes its rail fee from the transfer. The developer is never billed for it. - `developer`: the rail fee is not taken from the transfer. Bridge bills it to the developer.
    - `percent` string, number, required: A developer fee percent. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
    - `created_at` string, date-time, required: Time of creation of the Dev Fee Config
    - `updated_at` string, date-time, required: Time of most recent update of the Dev Fee Config
    - `by_source_currency` DevFeeConfigPercentOnlyMap: Percent overrides keyed by currency on the side the fee is not charged in. If both sides set a percent for a transfer, the higher one wins.
    - `by_destination_currency` DevFeeConfigFeeCurrencyMap: Pricing keyed by currency on the side the fee is charged in. Fixed, minimum, maximum and rail overrides are only accepted here.
  - CryptoToCryptoDevFeeConfig
    - `id` string, required: A UUID that uniquely identifies a resource
    - `name` string, required: A display name for this config.
    - `description` string, nullable: An optional longer description of this config.
    - `type` 'crypto_to_crypto', required: The kind of money movement this config prices. A customer can have at most one config of each type. - `onramp`: fiat to crypto, for example USD to USDC. Fees are charged in the source currency. - `offramp`: crypto to fiat, for example USDC to EUR. Fees are charged in the destination currency. - `crypto_to_crypto`: for example USDT to USDC. Fees are charged in the destination currency.
    - `rail_fee_bearer` 'customer' | 'developer': Who pays Bridge's rail fee, such as a wire fee. - `customer`: Bridge takes its rail fee from the transfer. The developer is never billed for it. - `developer`: the rail fee is not taken from the transfer. Bridge bills it to the developer.
    - `percent` string, number, required: A developer fee percent. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
    - `created_at` string, date-time, required: Time of creation of the Dev Fee Config
    - `updated_at` string, date-time, required: Time of most recent update of the Dev Fee Config
    - `by_source_currency` DevFeeConfigPercentOnlyMap: Percent overrides keyed by currency on the side the fee is not charged in. If both sides set a percent for a transfer, the higher one wins.
    - `by_destination_currency` DevFeeConfigFeeCurrencyMap: Pricing keyed by currency on the side the fee is charged in. Fixed, minimum, maximum and rail overrides are only accepted here.

## Response `201`

The created Dev Fee Config

- union
  - OnrampDevFeeConfig
    - `id` string, required: A UUID that uniquely identifies a resource
    - `name` string, required: A display name for this config.
    - `description` string, nullable: An optional longer description of this config.
    - `type` 'onramp', required: The kind of money movement this config prices. A customer can have at most one config of each type. - `onramp`: fiat to crypto, for example USD to USDC. Fees are charged in the source currency. - `offramp`: crypto to fiat, for example USDC to EUR. Fees are charged in the destination currency. - `crypto_to_crypto`: for example USDT to USDC. Fees are charged in the destination currency.
    - `rail_fee_bearer` 'customer' | 'developer': Who pays Bridge's rail fee, such as a wire fee. - `customer`: Bridge takes its rail fee from the transfer. The developer is never billed for it. - `developer`: the rail fee is not taken from the transfer. Bridge bills it to the developer.
    - `percent` string, number, required: A developer fee percent. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
    - `created_at` string, date-time, required: Time of creation of the Dev Fee Config
    - `updated_at` string, date-time, required: Time of most recent update of the Dev Fee Config
    - `by_source_currency` DevFeeConfigFeeCurrencyMap: Pricing keyed by currency on the side the fee is charged in. Fixed, minimum, maximum and rail overrides are only accepted here.
    - `by_destination_currency` DevFeeConfigPercentOnlyMap: Percent overrides keyed by currency on the side the fee is not charged in. If both sides set a percent for a transfer, the higher one wins.
  - OfframpDevFeeConfig
    - `id` string, required: A UUID that uniquely identifies a resource
    - `name` string, required: A display name for this config.
    - `description` string, nullable: An optional longer description of this config.
    - `type` 'offramp', required: The kind of money movement this config prices. A customer can have at most one config of each type. - `onramp`: fiat to crypto, for example USD to USDC. Fees are charged in the source currency. - `offramp`: crypto to fiat, for example USDC to EUR. Fees are charged in the destination currency. - `crypto_to_crypto`: for example USDT to USDC. Fees are charged in the destination currency.
    - `rail_fee_bearer` 'customer' | 'developer': Who pays Bridge's rail fee, such as a wire fee. - `customer`: Bridge takes its rail fee from the transfer. The developer is never billed for it. - `developer`: the rail fee is not taken from the transfer. Bridge bills it to the developer.
    - `percent` string, number, required: A developer fee percent. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
    - `created_at` string, date-time, required: Time of creation of the Dev Fee Config
    - `updated_at` string, date-time, required: Time of most recent update of the Dev Fee Config
    - `by_source_currency` DevFeeConfigPercentOnlyMap: Percent overrides keyed by currency on the side the fee is not charged in. If both sides set a percent for a transfer, the higher one wins.
    - `by_destination_currency` DevFeeConfigFeeCurrencyMap: Pricing keyed by currency on the side the fee is charged in. Fixed, minimum, maximum and rail overrides are only accepted here.
  - CryptoToCryptoDevFeeConfig
    - `id` string, required: A UUID that uniquely identifies a resource
    - `name` string, required: A display name for this config.
    - `description` string, nullable: An optional longer description of this config.
    - `type` 'crypto_to_crypto', required: The kind of money movement this config prices. A customer can have at most one config of each type. - `onramp`: fiat to crypto, for example USD to USDC. Fees are charged in the source currency. - `offramp`: crypto to fiat, for example USDC to EUR. Fees are charged in the destination currency. - `crypto_to_crypto`: for example USDT to USDC. Fees are charged in the destination currency.
    - `rail_fee_bearer` 'customer' | 'developer': Who pays Bridge's rail fee, such as a wire fee. - `customer`: Bridge takes its rail fee from the transfer. The developer is never billed for it. - `developer`: the rail fee is not taken from the transfer. Bridge bills it to the developer.
    - `percent` string, number, required: A developer fee percent. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
    - `created_at` string, date-time, required: Time of creation of the Dev Fee Config
    - `updated_at` string, date-time, required: Time of most recent update of the Dev Fee Config
    - `by_source_currency` DevFeeConfigPercentOnlyMap: Percent overrides keyed by currency on the side the fee is not charged in. If both sides set a percent for a transfer, the higher one wins.
    - `by_destination_currency` DevFeeConfigFeeCurrencyMap: Pricing keyed by currency on the side the fee is charged in. Fixed, minimum, maximum and rail overrides are only accepted here.

## Other responses

- `400`: Request containing missing or invalid Dev Fee Config parameters.
- `401`: Missing or invalid API key
- `500`: Unexpected error. User may try and send the request again.

## Changes

- **2026-11-03** `a390532e9fc6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bridge/apis/bridge-api/changes/dev_fee_configs/post.md)

---

[API](https://skmtc.dev/bridge/apis/bridge-api.md) - [All operations](https://skmtc.dev/bridge/apis/bridge-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bridge/apis/bridge-api/revisions/a390532e9fc6?raw)
