taler-docs

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

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


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