exchange.conf (5799B)
1 # This file is in the public domain. 2 # 3 [exchange] 4 5 # Master public key used to sign the exchange's various keys 6 # This must be adjusted to your actual installation. 7 # MASTER_PUBLIC_KEY = 98NJW3CQHZQGQXTY3K85K531XKPAPAVV4Q5V8PYYRR00NJGZWNVG 8 9 # How many digits does the currency use by default on displays. 10 # Hint provided to wallets. Should be 2 for EUR/USD/CHF, 11 # and 0 for JPY. Default is 2 as that is most common. 12 # Maximum value is 8. Note that this is the number of 13 # fractions shown in the wallet by default, it is still 14 # possible to configure denominations with more digits 15 # and those will then be rendered using 'tiny' fraction 16 # capitals (like at gas stations) when present. 17 CURRENCY_FRACTION_DIGITS = 2 18 19 # Attribute encryption key for storing attributes encrypted 20 # in the database. Should be a high-entropy nonce. 21 ATTRIBUTE_ENCRYPTION_KEY = SET_ME_PLEASE 22 23 # Set to YES to enable AML/KYC. 24 ENABLE_KYC = NO 25 26 # Set to YES to signal to the merchant backend that it should 27 # swap the terms-of-service and KYC auth authentication steps 28 # in the user experience. 29 KYC_SWAP_TOS_ACCEPTANCE = NO 30 31 # Set to YES to disable direct deposits. 32 DISABLE_DIRECT_DEPOSIT = NO 33 34 # How long do we allow /keys to be cached at most? The actual 35 # limit is the minimum of this value and the first expected 36 # significant change in /keys based on the expiration times. 37 # Used to artificially reduce caching (addresses #5747). 38 MAX_KEYS_CACHING = forever 39 40 # After how many requests should the exchange auto-restart 41 # (to address potential issues with memory fragmentation)? 42 # If this option is not specified, auto-restarting is disabled. 43 # MAX_REQUESTS = 100000 44 45 # How to access our database 46 DB = postgres 47 48 # Network configuration for the normal API/service HTTP server 49 # serve via tcp socket (on PORT) 50 SERVE = tcp 51 52 # Unix domain socket to listen on, 53 # only effective with "SERVE = unix" 54 UNIXPATH = ${TALER_RUNTIME_DIR}httpd/exchange-http.sock 55 UNIXPATH_MODE = 660 56 57 # Linear component for the STEFAN curve 58 STEFAN_LIN = 0.0 59 60 # HTTP port the exchange listens to 61 PORT = 8081 62 63 # Base URL of the exchange (public-facing). Due to reverse proxies, 64 # this may or may not match our port or hostname at all and can thus 65 # not be determined automatically. Note that a globally reachable name 66 # is required, so 'localhost' will not work except for testing. 67 # Required for wire transfers as we need to include it in the wire 68 # transfers to enable tracking. 69 BASE_URL = http://localhost:8081/ 70 71 # How long should the aggregator sleep if it has nothing to do? 72 AGGREGATOR_IDLE_SLEEP_INTERVAL = 60 s 73 74 # What type of asset is the exchange managing? Used to adjust 75 # the user-interface of the wallet. 76 # Possibilities include: "fiat", "regional" and "crypto". 77 # In the future (and already permitted but not yet supported by wallets) 78 # we also expect to have "stock" and "future" (and more). 79 # Default is "fiat". 80 ASSET_TYPE = "fiat" 81 82 # FIXME: document! 83 ROUTER_IDLE_SLEEP_INTERVAL = 60 s 84 85 # How big is an individual shard to be processed 86 # by taler-exchange-expire (in time). It may take 87 # this much time for an expired purse to be really 88 # cleaned up and the coins refunded. 89 EXPIRE_SHARD_SIZE = 60 s 90 91 # How long should the transfer tool 92 # sleep if it has nothing to do? 93 TRANSFER_IDLE_SLEEP_INTERVAL = 60 s 94 95 # How long should the closer tool 96 # sleep if it has nothing to do? 97 CLOSER_IDLE_SLEEP_INTERVAL = 60 s 98 99 # Values of 0 or above 2^31 disable sharding, which 100 # is a sane default for most use-cases. 101 # When changing this value, you MUST stop all 102 # aggregators and manually run 103 # 104 # $ taler-exchange-dbinit -s 105 # 106 # against the exchange's database. Otherwise, the 107 # aggregation logic will break badly! 108 AGGREGATOR_SHARD_SIZE = 2147483648 109 110 # Values of 0 or above 2^31 disable sharding, which 111 # is a sane default for most use-cases. 112 # When changing this value, you MUST stop all 113 # aggregators and manually run 114 # 115 # $ taler-exchange-dbinit -s 116 # 117 # against the exchange's database. Otherwise, the 118 # aggregation logic will break badly! 119 ROUTER_SHARD_SIZE = 2147483648 120 121 # How long should wirewatch sleep if it has nothing to do? 122 # (Set very aggressively here for the demonstrators to be 123 # super fast.) 124 WIREWATCH_IDLE_SLEEP_INTERVAL = 1 s 125 126 # how long are the signatures with the signkey valid? 127 SIGNKEY_LEGAL_DURATION = 2 years 128 129 # Directory with our terms of service. 130 TERMS_DIR = ${TALER_DATA_HOME}terms/ 131 132 # Etag / filename for the terms of service. 133 TERMS_ETAG = exchange-tos-v0 134 135 # Directory with our privacy policy. 136 PRIVACY_DIR = ${TALER_DATA_HOME}terms/ 137 138 # Etag / filename for the privacy policy. 139 PRIVACY_ETAG = exchange-pp-v0 140 141 # Where are the Typst templates for form rendering. 142 TYPST_TEMPLATES = @taler-exchange 143 144 # Location of the (externally packaged) AML SPA 145 AML_SPA_DIR = $PREFIX/share/taler-exchange-aml-webui/ 146 147 # Location of the (externally packaged) KYC SPA 148 KYC_SPA_DIR = $PREFIX/share/taler-exchange-kyc-webui/ 149 150 [exchange-sanctionscheck] 151 # Name where we store the sanctions check offset. 152 MIN_ROW_FILENAME = ${HOME}/.cache/sanctionscheck-offset.bin 153 154 # Sanction list match rating that must be exceeded for an automated 155 # freeze of the account (without manual investigation first). 156 # Both this and the FREEZE_CONFIDENCE_LIMIT must be met. 157 FREEZE_RATING_LIMIT = 0.9 158 159 # Sanction list confidence that must be exceeded for an automated 160 # freeze of the account (without manual investigation first). 161 # Both this and the FREEZE_RATING_LIMIT must be met. 162 FREEZE_CONFIDENCE_LIMIT = 0.9 163 164 # Value that the rating divided by the confidence must exceed to 165 # trigger a (manual) investigation. At 0.95, a modest 166 # 0.8 match with low 0.5 confidence will trigger (1.6), but a 167 # good 0.9 match with a super-high 1.0 confidence would not (0.9 < 0.95). 168 # OTOH, a bad 0.2 match with super-low 0.1 confidence would again 169 # trigger (2.0 > 0.95). 170 INVESTIGATION_LIMIT = 0.9