taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

012-fee-schedule-metrics.rst (28970B)


      1 DD 12: Exchange Fee Configuration
      2 #################################
      3 
      4 :Design status: Draft
      5 :Implementation status: Partial
      6 :DD shepherd: TBD
      7 :Historical contributors: Stefan Kügel, Christian Grothoff
      8 :First published: 2021-01-07
      9 :Last substantive change: 2021-12-09
     10 :Normative references: :doc:`../core/api-exchange`
     11 
     12 .. note::
     13 
     14   This document is a historical draft and is non-normative.  The current
     15   exchange API is authoritative for the available fee types.
     16 
     17 Summary
     18 =======
     19 
     20 This design document discusses considerations for configuring the fee
     21 structure of an Exchange from different points of view (Exchange operators,
     22 buyers/users, and sellers/merchants).
     23 
     24 
     25 Background
     26 ==========
     27 
     28 Fees are necessary for covering costs that non-governmental Exchange operators
     29 bear for offering their services established in-house or outsourced to a data
     30 center: variable costs (e.g. electricity and wire fees for every wired
     31 transfer to bank accounts) and fixed-cost expenditures for hardware, company
     32 assets, marketing and staff, and so forth. Fees enable operators to pass on
     33 these costs to users.
     34 
     35 The Taler protocol offers different types of fees for the different operations
     36 performed by the exchange. This enables the Exchange operator to adapt fees to
     37 closely relate to operational expenses.  Fee types and their underlying
     38 metrics not only to cover operational expenses, but also to provide incentives
     39 to users to adopt economic behaviours.  In particular, they can be used to
     40 ensure that attackers which try to overwhelm the Exchange infrastructure with
     41 unusually large numbers of transactions proportionally contribute to the
     42 Exchange's infrastructure budget.
     43 
     44 The original design considered the following six fee types.  The current
     45 protocol additionally defines global account, history, purse and
     46 exchange-to-exchange transfer fees; see the normative exchange API.
     47 
     48 1. **Withdraw**: For each successful withdrawal from the checking account, **per coin**
     49 2. **Deposit**: For spending, **per coin**
     50 3. **Refresh**: **Per coin** for
     51     a. Refresh transactions for receiving change
     52     b. Refresh of coins at the end of their validity
     53     c. Abort of transactions due to network failure
     54     d. Refund
     55 4. **Refund**: For refunds or in case of contract cancellation by seller, **per coin**
     56 5. **Wire**: For aggregated amounts wired by the Exchange to the merchant's checking account, **per wire transfer**
     57 6. **Closing**: In case a withdraw process did not complete (the user's wallet did not withdraw the value from the reserve) or could not complete because the user specified an invalid wire transfer subject, this fee is charged **per wire transfer** from the Exchange's escrow account to the account of origin
     58 
     59 When withdrawing coins, **withdraw** fees are deducted from the respective
     60 reserve.  When a coin is **deposited**, **refreshed** or **refunded**, the
     61 respective fees are deducted from the coin's value depending on the type of
     62 operation that was performed.  The **wire** and **closing** fees are deducted
     63 from the total amount that is being wired.
     64 
     65 Exchange operators must configure a combination of fee amounts for each
     66 denomination type and each supported wire method.  For each denomination type,
     67 the operator must configure the four fee amounts for the per coin operations.
     68 These denomination fees are valid for the lifetime of the denomination type:
     69 The protocol does not allow retroactive changes for denomination keys that
     70 have already been announced.  This protects buyers against fee hikes for
     71 coins they already withdrew.  Additionally, the **wire** and **closing** fees
     72 that apply per wire transfer must be configured for each wire method. These
     73 fees are typically defined per calendar year.
     74 
     75 For deposit, withdraw, refresh and refund operations, fees are charged per
     76 coin. The number of coins per operation increases logarithmically with the
     77 amount transacted. The fees set for a denomination may differ depending on the
     78 time of issuance of a coin (that is, whenever the public key changes) and may
     79 also depend on the specific value of a coin.
     80 
     81 Once an Exchange operator has configured specific fees, the Taler
     82 implementation will communicate the fees to new users upon withdrawal and
     83 henceforth charge fees on those newly withdrawn coins automatically.
     84 
     85 Most fees are covered directly by the buyers, with two exceptions.
     86 For **deposit** fees, sellers may offer to cover deposit fees.
     87 For this, the seller can configure (per sale) a maximum amount of
     88 deposit fees the seller is willing to cover. Those deposit fees are
     89 then deducted from the seller's income from the sale by the exchange.
     90 Additionally, sellers cover the full **wire** fee, as the wire fee
     91 is subtracted from the aggregated amounts wired to a seller.
     92 
     93 For the **wire** fee, we note that deposits are aggregated by the exchange and
     94 wired to the receiving checking account of the seller in larger bulk wire
     95 transfers. Sellers can set the frequency by which these aggregated amounts are
     96 wired. Every wire transfer imposes costs on the Exchange operator collected by
     97 the operator's bank for having the amount wired. Therefore, the Exchange
     98 operator will tend to charge the **Wire** fee to the sellers for this
     99 transaction type, as the sellers are the ones causing the aggregated transfer
    100 and not the buyers.
    101 
    102 If from a seller's point of view an Exchange operator has set the **wire** fee
    103 too high, the seller again impose a limit and ask buyers to cover the
    104 difference. Given that typically multiple purchases will be aggregated into
    105 one wire transfer, the seller can specify a so-called amortization factor to
    106 divide the (excessive) wire fee amongst a number of buyers using the same
    107 (expensive) Exchange.
    108 
    109 During the withdraw process, the wallet shows to the buyer the complete fee
    110 schedule and indicates the **Wire** and **closing** fees. However, if a seller
    111 takes over the wire fee charge instead of the buyers, the buyers'
    112 wallets will no longer show a wire fee for that seller. These sellers thus
    113 render the fee schedule clearer for their buyers, but certainly will have
    114 the wire fee calculated with their sales prices.
    115 
    116 .. note::
    117 
    118    The 'Recoup' operation does not allow Exchange operators to set any fee
    119    amount, because reimbursing funds from an Exchange that is about to cease its
    120    activity is not an action initiated or controlled by the user, and thus the
    121    Taler designers decided that it must always be at zero cost to the user.
    122 
    123 
    124 Motivation
    125 ==========
    126 
    127 Choosing a fee structure for an Exchange needs to satisfy several
    128 conflicting criteria:
    129 
    130 * Fees chosen by Exchange operators have to be explained to the users in
    131   the terms of service of the Exchange.  Thus, any proposed solution
    132   should consider its impact on usability and comprehension.
    133 * A refresh transaction can be triggered automatically by wallet policy before
    134   the end of the validity of a coin. Especially if Exchange
    135   operators charge **refresh** fees, the fact that a fee may automatically
    136   be charged in the background without user interaction is likely particularly
    137   difficult to explain.
    138 * Fees should deter abusive behavior by malicious parties that simply
    139   run transactions to increase transaction costs at the Exchange or
    140   to impact availability for normal users.  The most effective operation
    141   for such attacks are refresh operations, especially if those do not have a fee.
    142 * From a marketing perspective, it is unwise that buyers see fees.
    143   In particular, **withdraw** fees are likely to be the biggest deterrent
    144   as they appear before the buyer actually uses the system to make a payment.
    145   Only **deposit** and **wire** fees can be made "invisible" to buyers
    146   as the protocol allows sellers to fully or partially cover
    147   those fees.
    148 * The protocol does not allow an Exchange operator to retroactively
    149   change fees.  Thus, adaptations to changing conditions cannot always
    150   be done in a timely fashion.
    151 
    152 The potential for abuse for the different operations involving the
    153 exchange differs:
    154 
    155 * Abuse due to ``withdraw`` operations is unlikely as the costs of wire
    156   transfers are borne by the bank account holders and not the Exchange
    157   operators or sellers.
    158 
    159 * Abuse due to ``deposit`` operations is unlikely we basically always
    160   recommend that an Exchange operator should charge deposit fees on
    161   every denomination to generate income to cover costs.
    162 
    163 * Abuse due to ``refresh`` operations is likely and requires a differentiated
    164   treatment: The normal case for ``refresh`` operations is given anytime when
    165   wallets obtain fresh coins as change for a spent coin of higher denomination
    166   than the amount to be paid.  ``refresh`` operations can also happen if
    167   coins are about to expire or if transactions failed, say due to network
    168   outages between buyer, seller and exchange.  Because ``refresh`` operations
    169   happen completely anonymously, and because ``refresh`` operations without
    170   a fee basically output a coin that can serve as input into a subsequent
    171   ``refresh`` operation, they can easily be abused by any adversary to increase
    172   the load on the exchange.
    173   Thus, when an exchange suffers from an excessive number of refresh operations,
    174   the Exchange operator may need to charge **refresh**  fees to cover its costs.
    175 
    176 * Abuse due to ``refund transactions`` involves sellers that refund an
    177   excessive fraction of purchases. This can be limited by introducing or
    178   increasing the **refund** fees.  However, refund fees are charged
    179   to consumers, who may then no longer receive a ``full`` refund as a result.
    180 
    181 * Abuse due to ``wire transfers`` can theoretically affect an Exchange operator when
    182   sellers increase the frequency of aggregated wire transfers from his
    183   exchange to their banking accounts. A reason for frequently actuated wire
    184   transfers may be a seller's urgent need for immediate liquidity from sales
    185   revenues. Some sellers might also want to generate profit from interest
    186   rates for their sales revenues before they pay for their merchandise already
    187   sold. In any of these cases, IBAN wire transfers can be costly. Thus, we
    188   recommend for Exchange operators to always charge a **wire** fee.
    189 
    190 * Abuse due to ``closing transactions`` and the accompanying wire transfer of
    191   remittances back to the originating accounts burdens the Exchange operator
    192   with costs for wire transfers.  This abuse is again unlikely as the costs of
    193   wire transfers to the exchange are borne by the bank account holders and not
    194   the Exchange operators or sellers.  Nevertheless, the Exchange operator
    195   could introduce a **closing** fee to cover such costs.
    196 
    197 We now consider each of the fee types, viewed from the perspective of the
    198 buyer, the Exchange operator, and the seller, in detail.
    199 
    200 **Withdraw** fee for buyers
    201 -----------------------------
    202 
    203 Anyone who wants to load Taler wallets with coins must initiate a wire
    204 transfer from their own checking account to the Exchange operator's escrow
    205 account to let the Exchange fund a reserve which can be subsequently withdrawn
    206 by the wallet. Costs for the wire transfer may be incurred according to the
    207 user's contract with the bank. In addition to these potentially incurred
    208 costs, the withdraw fee could be charged for each coin withdrawn into the
    209 wallet. Even though many bank customers are already accustomed to wire
    210 transfer charges, the withdraw fee acts like a loss of purchasing power even
    211 before intended transactions take place. Buyers are made aware of this loss
    212 when being shown all fee types at withdrawal. Once buyers become aware that
    213 they will have to pay the cost for each coin generated, they might prefer to
    214 have as few high-denomination coins as possible withdrawn into their wallets.
    215 
    216 We note that there are other reasons why rational wallets already always
    217 withdraw high-denomination coins, such as reducing computational, storage and
    218 bandwidth demands as well as **refresh** fees. Thus, there does not seem to be
    219 a need to provide an additional incentive in the form of **withdraw** fees
    220 here.
    221 
    222 **Withdraw** fee for the Exchange operator
    223 --------------------------------------------
    224 
    225 A fee on each coin generated would indeed affect all electronic coins
    226 withdrawn from an Exchange operator and allocate costs necessary for their
    227 generation over all coins signed for the first time.  **withdraw** fees
    228 thus have the advantage that the Exchange operator does not have to wait
    229 until the consumer spends the coin.  In case there are no **refresh**
    230 fees, consumers may choose to hoard digital cash, which may create a
    231 legal and (negative) interest liability for the operator.  Introducing
    232 a **withdraw** fee may help an Exchange operator collect revenue up-front.
    233 
    234 **Withdraw** fee for sellers
    235 ------------------------------
    236 
    237 While **withdraw** fees do not burden sellers, withdraw fees are imposing
    238 a psychological barrier for their buyers to use Taler. Sellers may thus
    239 prefer to include the costs of generating coins in their selling prices and
    240 hide this cost from buyers.
    241 
    242 **Deposit** fee for buyers
    243 --------------------------
    244 
    245 **Deposit** fees are split between buyer and seller, the seller offering to
    246 cover a certain total amount in fees (as part of the commercial offer) and
    247 the buyer having to cover the remaining amount in full.  It is expected that
    248 merchants will offer to cover the full typical range of deposit fees for
    249 competitive Exchange operators.  Thus, **deposit** fees are only relevant
    250 for buyers if they choose an expensive Exchange operator.
    251 
    252 Deposit fees are thus a good candidate to cover all or most expenses that
    253 Exchange operators have to bear.
    254 
    255 **Deposit** fee for Exchange operators
    256 --------------------------------------
    257 
    258 All reasonable uses of the Taler payment system regularly involve deposit
    259 operations.  Other fees, such as **refund**, **wire** and **refresh** fees
    260 could be almost entirely avoided by certain groups of users, such as those
    261 withdrawing coins that match precisely the amounts they will spend (no
    262 refresh), sellers that never grant refunds and that configure their aggregated
    263 wire transfers to happen rarely (like once per year).  Thus, an Exchange
    264 operator that wants regular income from regular users must charge either
    265 **deposit** or **withdraw** fees.
    266 
    267 **Deposit** fee for sellers
    268 ---------------------------
    269 
    270 As an Exchange operator could charge high **deposit** fees, sellers can
    271 protect themselves against excessive fees by refusing to cover fees.  Sellers
    272 determine the default maximum amount they want to bear by setting the variable
    273 ``default_max_deposit_fee``.  This default can be overridden on a per-purchase
    274 basis.  **Deposit** fees exceeding this maximum are borne by the buyer.
    275 
    276 Sellers are expected to cover **deposit** fees to a similar degree that they
    277 cover such expenses with other payment systems.
    278 
    279 **Refresh** fee for buyers
    280 --------------------------
    281 
    282 **Refresh** fees are mostly caused by the generation of fresh coins as change for
    283 a coin of higher denomination that was redeemed for a smaller price that had
    284 to be paid: The payment amount was paid with a coin of a higher denomination,
    285 subsequently the wallet receives coins with denominations that add up to the
    286 difference. The **refresh** fee for the change booking is therefore only ever
    287 charged for one coin used and should be marginal from the buyer's point of
    288 view.
    289 
    290 Refresh also occurs together with refund transactions (a refresh transaction
    291 will always be triggered subsequently to discounting or a cancellation of
    292 purchase contracts). Less common should be refresh transactions due to the
    293 expiration of coins or because of transaction aborts after network or
    294 equipment failures. The **refresh** fee is charged to buyers per coin.
    295 
    296 Buyers are expected to consider this fee as an unexpected nuisance. They may
    297 complain about it, just like they are more particularly inclined to complain
    298 about negative interest rates.  We expect that they will often not understand
    299 when or why it is charged, especially since fees for getting change are very
    300 uncommon in other payment systems.
    301 
    302 **Refresh** fee for Exchange operators
    303 --------------------------------------
    304 
    305 As long as there is no abuse with refresh transactions, the Exchange operator
    306 has to consider whether to pass on the costs for refreshes directly to buyers
    307 or to cover these costs with another type of fee. Using the **refresh** fee to
    308 cover costs means that the originators of excessive refreshes requests also
    309 bear their excessive cost.
    310 
    311 **Refresh** fee for sellers
    312 ---------------------------
    313 
    314 Refresh operations do not directly affect sellers.
    315 
    316 **Refund** fee for buyers
    317 -------------------------
    318 
    319 In contrast to the **refresh** fees, the sellers -- and not the buyers --
    320 trigger refunds. If an Exchange charges **refund** fees, the already deposited
    321 coins of the buyers would be charged with this fee in case of a partial or
    322 full refund.  If a **refund** fee is charged for a coin, the respective
    323 **deposit** fee is waived only when the refund is a full refund of that
    324 specific coin, as specified in DD26.
    325 
    326 From the buyers' point of view, therefore, the sellers should legitimately
    327 bear this fee, alas this is not possible given that sellers do not inherently
    328 have any money to pay with, and also allowing sellers to give coins to buyers
    329 would violate our income transparency principle.
    330 
    331 Given that buyers would likely perceive it as unfair if they have to pay the
    332 **refund** fee, we generally recommend that Exchange operators should simply
    333 avoid using **refund** fees.
    334 
    335 **Refund** fee for Exchange operators
    336 -------------------------------------
    337 
    338 Exchange operators should not disable refunds, as this is a frequently
    339 legally required operation for sellers.
    340 
    341 Sellers who excessively trigger refunds can be identified. So instead of
    342 charging a **refund** fee, an Exchange operator may have a clause in its Terms
    343 of Service that allows it to take special measures against sellers that abuse
    344 the refund feature.  We note that the Taler protocol does not allow the
    345 Exchange to automatically communicate such a clause to the sellers, and that
    346 the sellers do not have to explicitly agree to the Exchange's terms of
    347 service.  Thus, such a clause needs to be worded to simply specify what the
    348 Exchange operator's may do in the case of criminal behavior.  For this, refund
    349 abuse would have to happen to a degree that can basically be categorized as a
    350 denial-of-service attack, giving the exchange operator a legal argument for
    351 refusing to continue to do business with the abusive seller.
    352 
    353 **Refund** fee for sellers
    354 --------------------------
    355 
    356 In the event of a seller refunding a purchase, the buyer bears the cost of the
    357 **refund** and **refresh** fees.  While **deposit** fees are waved in case of
    358 refunds, these other fees may apply for the buyer. Furthermore, the seller
    359 cannot cover any of those fees.
    360 
    361 Thus, sellers cannot guarantee a 100% refund (including fees) should an
    362 Exchange charge **refund** or **refresh** fees.  **refresh** fees are slightly
    363 less problematic, as they can happen in the background to coin owners anyway,
    364 and are typically expected to be very low.  An exchange should be cautious
    365 when charging **refund** fees, as this may create probems for retailers that
    366 are legally obliged to refund 100% of the buyer's expenses (including banking
    367 costs).
    368 
    369 **Wire** fee for buyers
    370 -----------------------
    371 
    372 This fee is to be paid by the sellers (i.e. sellers or generally all
    373 recipients of coins). The **wire** fee directly affects buyers only in the
    374 following case: The protocol allows sellers to partially pass on the cost of
    375 the **wire** fee to buyers if the Exchange operator that signed buyers' coins
    376 sets the **wire** fee above the value that each seller can define in the
    377 seller backend via ``max_wire_fee``.
    378 
    379 Given that sellers can specify the wire transfer frequency, **wire** fees are
    380 unlikely to be a driver for Exchange profits. Thus, Exchanges are likely to
    381 charge competitive rates, and sellers are likely to be happy to cover the
    382 entire **wire** fee.  Thus, **wire** fees should in practice rarely matter
    383 for buyers.
    384 
    385 **Wire** fee for Exchange operators
    386 -----------------------------------
    387 
    388 Exchange operators may charge **wire** fees in order to cover their expenses
    389 for wiring the value of coins to the beneficiaries. The **wire** fee passes on
    390 the cost of wire transfers from the Exchange's escrow account to the receiving
    391 banking accounts, and for this usually banks charge handling fees. Buyers are
    392 only shown the **wire** fee upon withdrawal and if the seller does not bear
    393 them to the full extent.
    394 
    395 For Exchange operators, opting out of the **wire** fee would be tantamount to
    396 giving sellers carte blanche to trigger an aggregated booking of their sales
    397 revenue as often as possible. (Except that refunds are not possible after the
    398 wire transfer has been initiated by the exchange, but some sellers may never
    399 make use of refunds.)
    400 
    401 If, on the other hand, the Exchange operator charges the **wire** fee, this
    402 will cause the sellers to adjust the frequency of the aggregated wire transfer
    403 as they need it for their business and want to afford the fee for it.  Thus,
    404 setting **wire** fees slightly above operational costs for wire transfers
    405 should result in an optimal wire transfer frequency.
    406 
    407 **Wire** fee for sellers
    408 ------------------------
    409 
    410 Sellers want to register their sales as quickly and often as possible. Timely
    411 revenue recognition improves their liquidity and generates interest income if
    412 sales revenues are received earlier than payments to suppliers. They are
    413 therefore forced to decide whether they would rather bear higher absolute
    414 costs due to the **wire** fee or forego liquidity.  However, as **wire** fees
    415 are expected to be relatively low, sellers are likely to primarily set their
    416 aggregation periods based on the needs for refunds.
    417 
    418 **Closing** fee for buyers
    419 --------------------------
    420 
    421 The **closing** fee is triggered by users of the payment system if, after a
    422 successful wire transfer to an Exchange's escrow account, they do not drain
    423 the reserve in a timely fashion. This could be the case when for
    424 example the wallet could not connect to the Taler exchange within 14 days.
    425 
    426 Costs incur to the Exchange for the wire transfer back to the originating
    427 account. This is done by remitting the original amount minus the **closing**
    428 fee. The **closing** fee is expected to be rarely charged and should be meet
    429 with understanding from most users.  Still, an Exchange operator is unlikely
    430 to depend on income from such a fee, and not having a **closing** fee will
    431 simplify the terms of service and could be a cheap way to produce or maintain
    432 consumer goodwill.
    433 
    434 **Closing** fee for Exchange operators
    435 --------------------------------------
    436 
    437 Costs for the closing of a reserve are incurred by the Exchange operator due
    438 to irregular user behavior (withdrawing to the wallet failed within the given
    439 time frame, the Exchange has to wire the funds back to the originating
    440 account). Thus, Exchange operators may charge a **closing** fee to cover these
    441 costs.
    442 
    443 The **closing** fee is likely dispensable, especially as abuse is expected to
    444 not be a problem: malicious parties wiring funds to the Exchange to trigger
    445 **closing** operations would need to have spare liquidiy, would still have to
    446 cover their own banking costs, and would also be easily identified.
    447 
    448 **Closing** fee for sellers
    449 ---------------------------
    450 
    451 The **closing** fee does not affect sellers in any way.
    452 
    453 
    454 Proposed Solution
    455 =================
    456 
    457 Fee levels if abuse is low
    458 --------------------------
    459 
    460 By default, we suggest that the Exchange should amortize its costs and create
    461 a profit using only **deposit** and **wire** fees.  This minimizes the
    462 psychological barriers during the critical withdraw phase, and allows all
    463 regular fees to be fully covered by merchants.
    464 
    465 Specifically, an exchange should pick a smallest currency unit it is willing
    466 to transact in, say 0.005 EUR.  For coins of that denomination, the
    467 **deposit** fee should be 100%, that is the entire value of the coin.  Further
    468 denominations should be created at powers of two from this currency unit, so
    469 in our example 0.01 EUR, 0.02 EUR, 0.04 EUR, 0.08 EUR, 0.16 EUR, etc.  For the
    470 next 4 powers of two, we suggest that the fee remains at the unit currency.
    471 Then, the **deposit** fee should double at 2^4 times the unit currency, so at
    472 0.08 EUR the **deposit** fee (per coin) should be 0.01 EUR.  At 2^8 times the
    473 unit currency (1.28 EUR), the **deposit** fee should triple, rising to 0.015
    474 EUR.  At 2^12 times the unit currency, the **deposit** fee would quadruple,
    475 so for a 20.48 EUR coin, the **deposit** fee would rise to 0.02 EUR.
    476 
    477 Note that for a typical transaction, the number of coins is logarithmic to the
    478 amount. So with the above fee structure, paying amounts around 10 EUR would on
    479 average involve about 6 coins with 1/3rd fees at 0.005, 1/3rd fees at 0.01 and
    480 1/3rd fees at 0.015, resulting in an expected total transaction cost in
    481 **deposit** fees of 0.03 EUR.  In contrast, paying 0.50 cents would require
    482 on average 4 coins cost less than 0.02 EUR in **deposit** fees.  As a result
    483 of this fee structure, microtransactions with Taler have a higher fee in terms
    484 of percentage, while larger transactions are still highly competitive.
    485 
    486 This fee structure becomes problematic if attackers begin to abuse it, say by
    487 excessively refreshing coins or constantly depositing and refunding the same
    488 coin.
    489 
    490 Fee levels in case of abuse
    491 ---------------------------
    492 
    493 If such transactions are triggered anonymously in excessive ways by malicious
    494 parties, the Exchange operators may need to configure **refresh**, **refund**
    495 or **closing** fees.  We believe nominal **refresh** fees are most likely
    496 needed in case of malicious activity.  Excessive **refunds** are easily
    497 attributed to merchants and thus less likely to be a problem.  **closing**
    498 fees imply that the attacker performs wire transfers at an equal cost to the
    499 attacker. Thus, we believe **closing** fees will most likely never be needed.
    500 
    501 In all cases, these fees should be set to deter, not to make a profit.  Hence,
    502 likely the smallest configured currency unit should suffice for **refresh**
    503 and **refund** fees, and the actual wire transfer cost would be an appropriate
    504 **closing** fee.
    505 
    506 
    507 Alternatives
    508 ============
    509 
    510 Another way for Exchange operators to cover costs or generate income would be
    511 to set all of the above fees to zero and use income from the forfeiture of
    512 users' funds on the escrow account. Some voucher distributors even already use
    513 this income source as a normal business model. This solution might possibly be
    514 a "best case", since without confusing the users with a complex fee schedule
    515 and/or a range of fees. However, these revenues are discontinuous and
    516 unpredictable and therefore not really suitable for sustainable financing.
    517 
    518 
    519 Drawbacks
    520 =========
    521 
    522 * Not charging **refresh** and **refund** fees all the time exposes
    523   an exchange operator to potential losses for a period of time until
    524   such fees can be introduced, which may be weeks or months depending
    525   on the denomination key rotation frequency.  Still, it would seem that
    526   a simplified, more understandable fee structure will help the system
    527   grow, which is likely more important than this risk.
    528 * The fee structure does not result in a flat percentage being charged
    529   on all transactions. Such a flat percentage may be easier to
    530   comprehend than the logarithmic structure prescribed in this document.
    531   However, a flat percentage structure cannot technically be achieved
    532   for the unit denomination (where the fee basically has to be zero
    533   or 100%), and would not reflect the market position of Taler, where
    534   low fees are more important for larger transactions that are well
    535   supported by competing systems on offer today.
    536 * The proposed fee structure tries to balance income with system growth,
    537   setting fees below current market rates to drive adoption. Given the
    538   privacy features, one could justify charging above market rate fees.
    539   However, our goal is to grow and become the dominant payment system,
    540   and given low per-transaction operational costs, long-term survival
    541   depends more on growth than on early income. Given the actual
    542   per-transaction costs, it would also be conceivable to charge lower
    543   fees to supercharge growth. However, we do have limited funding and
    544   a need to show investors that the market is willing to pay for our
    545   payment system product. Thus, using fees that might even with
    546   significant growth not be able to cover operational costs for many
    547   years is also not a good option.  Thus, the unit denomination
    548   should likely be in the 0.25 to 1 cent range, with the linear
    549   growth at factors between 2^2 and 2^6.
    550 
    551 
    552 Discussion / Q&A
    553 ================
    554 
    555 Other documents regarding fee specifications:
    556 
    557 * Fee schedule and metrics from the users' point of view :doc:`008-fees`
    558 
    559 * Wire fee for different wiring methods (``iban`` or ``x-taler-wire``) <https://docs.taler.net/taler-exchange-manual.html#wire-fee-structure>