Skip to main content

Overview

Mueve implements a tiered commission structure that scales with transaction size. The commission system is designed to be competitive for small transactions while offering progressive pricing for larger amounts. All commissions are calculated in USD and applied differently depending on whether the user is buying or selling.

Commission Tiers

The commission structure consists of four distinct tiers based on the transaction amount:
1

Tier 1: $1.00 - $9.99

Fixed commission of $0.80 USD
2

Tier 2: $10.00 - $14.99

Fixed commission of $1.00 USD
3

Tier 3: $15.00 - $25.00

Fixed commission of $1.40 USD
4

Tier 4: Above $25.00

Base of **1.40USD+81.40 USD** + **8%** of the amount exceeding 25.00

Commission Calculation Logic

The commission is calculated using the getCommissionUsd function:
const getCommissionUsd = (amount) => {
  const A = parseFloat(amount) || 0;
  if (A >= 1 && A < 10) return 0.8;
  if (A >= 10 && A < 15) return 1.0;
  if (A >= 15 && A <= 25) return 1.4;
  if (A > 25) return round2(1.4 + (A - 25) * 0.08);
  return 0;
};
For amounts above 25,theformulais:25, the formula is: `1.40 + (amount - $25) × 0.08`, rounded to 2 decimal places.

Tier Examples

Here are detailed examples showing how commissions are calculated at each tier:

Tier 1: Small Transactions

Amount: 5.00USDCommission:5.00 USD **Commission**: 0.80 USD (fixed)Buy Transaction (Comprar):
  • Base amount: $5.00
  • Commission: $0.80
  • Total to pay: $5.80 USD
Sell Transaction (Vender):
  • Base amount: $5.00
  • Commission: $0.80
  • Net received: $4.20 USD
Amount: 9.50USDCommission:9.50 USD **Commission**: 0.80 USD (fixed)Buy Transaction (Comprar):
  • Base amount: $9.50
  • Commission: $0.80
  • Total to pay: $10.30 USD
Sell Transaction (Vender):
  • Base amount: $9.50
  • Commission: $0.80
  • Net received: $8.70 USD

Tier 2: Medium Transactions

Amount: 12.00USDCommission:12.00 USD **Commission**: 1.00 USD (fixed)Buy Transaction (Comprar):
  • Base amount: $12.00
  • Commission: $1.00
  • Total to pay: $13.00 USD
Sell Transaction (Vender):
  • Base amount: $12.00
  • Commission: $1.00
  • Net received: $11.00 USD

Tier 3: Standard Transactions

Amount: 20.00USDCommission:20.00 USD **Commission**: 1.40 USD (fixed)Buy Transaction (Comprar):
  • Base amount: $20.00
  • Commission: $1.40
  • Total to pay: $21.40 USD
Sell Transaction (Vender):
  • Base amount: $20.00
  • Commission: $1.40
  • Net received: $18.60 USD

Tier 4: Large Transactions

Amount: $50.00 USD
Commission Calculation:
commission = 1.40 + (50 - 25) × 0.08
commission = 1.40 + 25 × 0.08
commission = 1.40 + 2.00
commission = $3.40 USD
Buy Transaction (Comprar):
  • Base amount: $50.00
  • Commission: $3.40
  • Total to pay: $53.40 USD
Sell Transaction (Vender):
  • Base amount: $50.00
  • Commission: $3.40
  • Net received: $46.60 USD
Amount: $100.00 USD
Commission Calculation:
commission = 1.40 + (100 - 25) × 0.08
commission = 1.40 + 75 × 0.08
commission = 1.40 + 6.00
commission = $7.40 USD
Buy Transaction (Comprar):
  • Base amount: $100.00
  • Commission: $7.40
  • Total to pay: $107.40 USD
Sell Transaction (Vender):
  • Base amount: $100.00
  • Commission: $7.40
  • Net received: $92.60 USD
Amount: $500.00 USD
Commission Calculation:
commission = 1.40 + (500 - 25) × 0.08
commission = 1.40 + 475 × 0.08
commission = 1.40 + 38.00
commission = $39.40 USD
Buy Transaction (Comprar):
  • Base amount: $500.00
  • Commission: $39.40
  • Total to pay: $539.40 USD
Sell Transaction (Vender):
  • Base amount: $500.00
  • Commission: $39.40
  • Net received: $460.60 USD

Commission Application

The way commission is applied depends on the transaction type:

Buy Transactions (Comprar)

When buying USD, the commission is added to the base amount:
const total_usd = round2(A + commission_usd);
return {
  commission_usd,
  total_usd,
  total_bs: round2(total_usd * r),
  raw_amount_usd: A,
};
For buy transactions, users pay the base amount plus the commission. The exchange rate is applied to the total.

Sell Transactions (Vender)

When selling USD, the commission is deducted from the base amount:
if (transaction_type === "Vender" || transaction_type === "VENTA") {
  const net_usd = round2(A - commission_usd);
  if (net_usd <= 0) {
    return { error: "La comisión excede o iguala el monto proporcionado" };
  }
  return {
    commission_usd,
    total_usd: net_usd,
    total_bs: round2(net_usd * r),
    raw_amount_usd: A,
  };
}
For sell transactions, if the commission equals or exceeds the base amount, the transaction is rejected with error: “La comisión excede o iguala el monto proporcionado”

Commission Quick Reference Table

Transaction AmountCommission FormulaExample AmountExample Commission
1.001.00 - 9.99Fixed $0.80$5.00$0.80
10.0010.00 - 14.99Fixed $1.00$12.00$1.00
15.0015.00 - 25.00Fixed $1.40$20.00$1.40
25.0125.01 - 50.00$1.40 + (amt-25)×0.08$30.00$1.80
50.0150.01 - 100.00$1.40 + (amt-25)×0.08$75.00$5.40
100.01100.01 - 500.00$1.40 + (amt-25)×0.08$200.00$15.40
Above $500.00$1.40 + (amt-25)×0.08$1,000.00$79.40

Effective Commission Rate

For large transactions (Tier 4), here’s how the effective commission percentage scales:
Commission: $3.40
Effective Rate: 6.8%
As transaction amounts increase beyond 25,theeffectivecommissionrateapproachesbutneverexceeds825, the effective commission rate approaches but never exceeds 8%, due to the 1.40 base component.

Edge Cases

Minimum Transaction Amounts

For amounts less than 1.00,thecommissionis1.00, the commission is **0.00**:
if (A >= 1 && A < 10) return 0.8;
// If A < 1, none of the conditions match
return 0; // No commission
However, such small transactions may not be practical or allowed by the system.
For sell transactions, ensure the base amount exceeds the commission:
const net_usd = round2(A - commission_usd);
if (net_usd <= 0) {
  return { error: "La comisión excede o iguala el monto proporcionado" };
}
Example: Trying to sell 0.50with0.50 with 0.80 commission = REJECTED

Rounding Behavior

All commission calculations are rounded to 2 decimal places:
const round2 = (v) => {
  return Math.round((parseFloat(v) || 0) * 100) / 100;
};

Integration in Transaction Flow

Commissions are calculated automatically during transaction creation:
1

User Submits Amount

User provides the base amount they want to exchange
2

Commission Calculated

System determines commission based on tier
3

Totals Computed

Commission is added (buy) or deducted (sell) from base amount
4

Rate Applied

Current USD to Bolivares exchange rate is applied to final USD amount
5

Transaction Stored

All values (base amount, commission, totals) are persisted
const totals = computeTotals({ transaction_type, amount_usd, rate_bs });
if (totals.error) {
  return res.status(400).json({ message: totals.error });
}
const { commission_usd, total_usd, total_bs } = totals;

Best Practices

Display commission clearly to users before they confirm transactions. Show both the base amount and the total (including commission).
Validate minimum amounts for sell transactions to ensure the net amount after commission is positive and meaningful.
Consider tier boundaries when displaying pricing information. Users transacting near tier boundaries (10,10, 15, $25) should understand the commission jump.
Calculate in real-time as users input amounts, providing instant feedback on commission costs.

Pricing Strategy

The tiered commission structure is designed to:
  1. Competitive small transactions - Low fixed fees for everyday exchanges
  2. Fair medium transactions - Reasonable fixed fees that don’t scale prematurely
  3. Percentage-based scaling - Progressive pricing for larger amounts (8% above $25)
  4. Predictable costs - Clear tier boundaries make costs easy to understand
  • Transactions - Learn how commissions are applied to buy and sell operations
  • Exchange Rates - Understand how rates work with commission calculations
  • API Reference - Create transactions with automatic commission calculation

Build docs developers (and LLMs) love