Alpine· Docs
Contents

Concepts

Fees

Fee instructions, bearers, and fee lines that reconcile to the unit. You earn when money moves.

You earn when money moves. A fee is not a side effect — it is a line on the transfer, in the same unit, that reconciles against the amount.

Fee lines

A settled transfer carries fees.lines[], each with a kindapp_fee (yours), platform_fee, provider_fee, gas_fee — an amount in minor units, and a status. Your app fee is the one you set; the rest are costs the movement incurs.

"fees": { "lines": [
  { "kind": "app_fee", "amountMinorUnits": "2500", "status": "reserved" }
] }

The fee needs a home

Before a fee instruction is accepted, the environment needs an Accounts-selected app-fee collection target. Without it, a fee instruction is refused 400 — “requires an Accounts-selected AppFee collection target.” The fee settles into a fee till, an endpoint the platform assigns.

Who bears it

A receiver-paid app fee requires an internal destination — the fee is deducted from what lands. The bearer is a property of the instruction, not an afterthought; the lines reconcile either way.

gateway 0.1.0 · sandbox