What to Show Your Customer
Show the customer only the fees deducted from their money. Fees settled later are between you and MoonPay Enterprise.Before payment: market Autoramp
When your customer opens their virtual account, show what a deposit costs on each rail.
A USD virtual account accepts several rails, and each rail can carry a different banking fee. Read the Autoramp with
GET /api/autoramps/{id} to get its fee_profile_id and rails:
Example: GET /api/autoramps/{id}
Example: GET /api/autoramps/{id}
Autoramp
GET /api/fee-profiles?fee_profile_ids={fee_profile_id} for the banking fee on each incoming rail:
Example: GET /api/fee-profiles
Example: GET /api/fee-profiles
Fee profile
fee_profile_id so the preview uses the same pricing:
Example: GET /api/autoramps/quotes-preview
Example: GET /api/autoramps/quotes-preview
Request
Quote preview
fee.transaction_fee by amount_in to show it as a percentage. Your customer sees:
Before payment: quote-based Autoramp
A quote locks the amount, rate, and fees. Show the quote as it is. Your customer must send exactlyamount_in: deposits that match no active quote are returned to sender. See Quotes.
Request a quote for the customer’s Autoramp with
GET /api/autoramps/{autoramp_id}/quote:
Example: GET /api/autoramps/{autoramp_id}/quote
Example: GET /api/autoramps/{autoramp_id}/quote
Request
Quote
POST /api/autoramps/{autoramp_id}/quotes. Your customer sees:
Return, the quote is valid only while the rate is locked. With Slippage, a deposit after the lock executes at the market rate if it is within slippage_tolerance_in_bips, so the amounts can differ from the quote. See Expiry policies.
After payment: the completed transaction
When the transaction completes, show what was deducted fromfee_breakdown:
A 1,000 USD ACH deposit to the same virtual account returns this from
GET /api/autoramp-transactions:
Example: GET /api/autoramp-transactions
Example: GET /api/autoramp-transactions
Transaction
quote_id. When the deposit arrives while the rate is locked, exchange_rate, destination_amount, and fee_breakdown match the quote.
Example: transaction from a quote
Example: transaction from a quote
Transaction
Do not show to customer
These fields either repeat a fee or hold fees settled later. Fees settled later don’t change what the customer pays. They are settled between you and MoonPay Enterprise on your monthly invoice, so use them for your own accounting.total_feeand the transaction’s top-levelfee. They include fees settled later, so they overstate what the customer paid.partner_fee. It is already part oftransaction_fee.iron_fee, wheniron_fee_settlementissettledLater.- Entries in
network_fees_with_settlementwithsettlementset tosettledLater, such as gas you subsidize. - Banking fees from your invoicing fee profile. They are not in the API response. Find them on your monthly invoice and in the transaction details on the dashboard.
Fee Fields
Quote and transaction responses return the following fee fields:
Banking and network fees from your transactional fee profile that are settled later remain available in
network_fees_with_settlement, together with their settlement method.
Banking fees on your invoicing fee profile are not in these fields. If you do not charge the customer for a rail,
network_fees_with_settlement still lists it with a 0 amount (for example WireOut), so you can see which rail the transaction used.Fee Profiles
MoonPay Enterprise uses two fee profile types:- The invoicing fee profile contains the fees you owe MoonPay Enterprise. We configure this profile based on your agreement.
- A transactional fee profile contains the fees you charge your customers. You can create multiple profiles and assign them to different customers or Autoramps.
POST /api/fee-profiles, its Iron fee settings are inherited from your invoicing fee profile.
The API does not let you change the Iron fee, its settlement method, the minimum fee, or whether network fees are enabled. Contact MoonPay Enterprise to change these invoicing settings.
Settlement Methods
Fee settlement has two possible values:deductedImmediately: The fee is deducted from the transaction amount. The customer receives the net amount.settledLater: The fee is not deducted from the transaction. It is added to your monthly invoice.
transaction_fee_bips are configured for immediate deduction. You choose network_fee_settlement when you create the transactional fee profile. MoonPay Enterprise configures the Iron fee settlement method on your invoicing profile.
Monthly Invoicing
Thetransaction_fee collected from your customer is netted against the iron_fee you owe MoonPay Enterprise. For percentage-based fees calculated on the same transaction amount:
Banking fees, network fees, minimum commitments, and other contracted charges are settled separately and also appear on the monthly invoice when applicable.
Deducted and Invoiced Fees on the Dashboard
The transaction details on the dashboard show two cards:- Deducted Fees: what came out of the customer’s money on this transaction.
- Invoiced Fees: what this transaction adds to your monthly invoice.