Fees

The {base, fee, payable} model, the real clamp formulas per flow, and a live slider to make pricing tangible.

Acute's fees are simple and predictable: each fee is a clamp, min(max(floor, rate × base), ceiling), applied to the base amount, all in kobo. Some flows carry an Acute fee plus a provider (bank-rail) fee; internal flows carry only Acute's. No surprises, no percentage that runs away on big amounts.

Drag the slider to see the math move:

acute clamp(₦10, 1%, ₦150) + provider clamp(₦0.50, 0.5%, ₦200)

₦15,000.00
100250,000
Base amount
₦15,000.00
Acute fee
₦150.00
Provider fee
₦75.00
Total fee
₦225.00
Payable amount (payer pays)
₦15,225.00

On collection the payer is charged base + fees; your wallet is credited the base. All amounts are kobo on the wire.

For a collection, the payer pays base + fee; your wallet is credited the base.

text
payableAmount = baseAmount + fee

For a disbursement (transfer, withdrawal, payout item), the fee is debited from the sending wallet alongside the base: the recipient gets the base, you pay the fee.

A payment-creation response surfaces the total fee so there's no guessing:

the fee fields on a payment
json
{
  "baseAmount": 500000,
  "fee": 7500,
  "payableAmount": 507500
}

These are the static platform defaults. They're transcribed from the real fee schedule; per-org overrides can replace a clamp, but absent an override you pay exactly these.

FlowAcute feeProvider fee
Paymentclamp(₦10, 1%, ₦150)clamp(₦0.50, 0.5%, ₦200)
Transfer (wallet → wallet)clamp(₦10, 1.5%, ₦100)n/a (internal, no rail)
Payout itemclamp(₦10, 1.5%, ₦100) per itemflat ₦20 NIP, per item
Withdrawal (wallet → bank)clamp(₦5, 1%, ₦180)flat ₦20 NIP

In kobo, those clamps are:

the real specs (kobo)
text
PAYMENT_ACUTE        min  1000   rate 0.01    max 15000   ← ₦10 · 1%   · ₦150
PAYMENT_PROVIDER     min    50   rate 0.005   max 20000   ← ₦0.50 · 0.5% · ₦200
TRANSFER             min  1000   rate 0.015   max 10000   ← ₦10 · 1.5% · ₦100
WITHDRAWAL_ACUTE     min   500   rate 0.01    max 18000   ← ₦5  · 1%   · ₦180
WITHDRAWAL_PROVIDER  flat 2000                            ← ₦20 (not a clamp)

A ₦5,000 payment (baseAmount: 500000):

  • Acute: clamp(1000, round(0.01 × 500000), 15000) = clamp(1000, 5000, 15000) = 5000 (₦50)
  • Provider: clamp(50, round(0.005 × 500000), 20000) = clamp(50, 2500, 20000) = 2500 (₦25)
  • Total fee 7500 (₦75); payer pays 507500 (₦5,075.00); your wallet is credited 500000 (₦5,000.00).

A ₦200 transfer (amount: 20000), the floor bites:

  • clamp(1000, round(0.015 × 20000), 10000) = clamp(1000, 300, 10000) = 1000 (₦10).
  • The 1.5% would be ₦3, but the ₦10 floor wins.

A ₦2,000,000 withdrawal (amount: 200000000), the ceiling bites:

  • Acute: clamp(500, round(0.01 × 200000000), 18000) = clamp(500, 2000000, 18000) = 18000 (₦180).
  • Provider: flat 2000 (₦20). Total fee ₦200, not ₦20,000; the cap protects large amounts.

Rounding is to the nearest kobo

The proportional part is Math.round(rate × base) before clamping, so fees are always a whole number of kobo. No fractional kobo ever reach the wire.

Per-org pricing exists

Your organization may be on a custom schedule that overrides one or more of these clamps. The shape never changes (same fields, same clamp math), only the min/rate/max for your org. When in doubt, the fee on the live create response is authoritative.