Skip to main content
POST
Get Transaction Fee
Calculate the fee for a given transaction type, currency, and amount before executing the transaction.

Example Request

Example Response

Parameters


Quoting a specific withdrawal method

Fees are configured per rail, so an ACH and a wire to the same bank are usually priced differently. Pass withdrawal_method to quote the rail you will actually send on:
Swap "ach" for "domestic_wire" or "international_wire" to compare rails before deciding which to send on — everything else in the request stays the same.
Omitting withdrawal_method quotes the currency-level fee, which may not be what the withdrawal is charged if a rail-specific fee applies to your account. Always send the rail you intend to use.

Quoting a saved beneficiary

If you are paying a saved beneficiary, pass beneficiaryId instead and the rail and destination country are taken from that beneficiary — no need to restate them:
Anything you send explicitly wins over the beneficiary’s own values, so you can quote a different rail for an existing beneficiary by supplying withdrawal_method alongside beneficiaryId.
The beneficiary must belong to your account. An unknown beneficiaryId returns a 400 rather than falling back to a default fee — a quote never silently prices a different rail than the withdrawal will use.

FX payouts

For a cross-currency payout, add recipientCurrency. The response then also carries feeInRecipientCurrency:
Call this endpoint before initiating a withdrawal or swap to show your users the exact fee they’ll be charged. Send the same withdrawal_method (or beneficiaryId) you will send to POST /wallet/withdraw so the quote matches the charge.

Authorizations

X-API-Key
string
header
required

Your Rolla API key

Body

application/json
currency
string
required

3-letter currency code

Required string length: 3
Example:

"NGN"

transactionType
enum<string>
required

Type of transaction

Available options:
deposit,
withdrawal,
swap
amount
number
required

Transaction amount in the smallest unit (kobo for NGN, cents for USD)

Example:

5000

recipientCurrency
string

For FX payouts — the currency the beneficiary receives. The response then also carries feeInRecipientCurrency.

Required string length: 3
Example:

"NGN"

withdrawal_method
enum<string>

Payout rail to price. Fees are configured per rail, so an ACH and a wire to the same bank are usually priced differently — send the rail you will actually withdraw on. Omitted, the currency-level fee is quoted.

Available options:
ach,
domestic_wire,
international_wire,
local_transfer,
crypto_usdt,
crypto_usdc,
rolla_transfer,
mobile_money
Example:

"ach"

destination_country
string

2-letter country code of the destination bank, for fees scoped to a corridor.

Required string length: 2
Example:

"US"

beneficiaryId
string<uuid>

Quote a saved beneficiary. withdrawal_method and destination_country are read from it when not supplied explicitly. An id that does not belong to your account returns a 400.

Example:

"c3d4e5f6-a7b8-9012-cdef-123456789012"

Response

Fee calculated successfully

success
boolean
Example:

true

message
string
Example:

"Transaction fee retrieved successfully"

data
object