example.config.toml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. [info]
  2. url = "https://mint.thesimplekid.dev/"
  3. listen_host = "127.0.0.1"
  4. listen_port = 8085
  5. mnemonic = ""
  6. # input_fee_ppk = 0
  7. # enable_swagger_ui = false
  8. # Set keyset version preference.
  9. # true = Force upgrade to V2 (Version01).
  10. # false = Force downgrade to V1 (Version00).
  11. # If unset (default), existing keysets are preserved, but new ones use V2.
  12. # use_keyset_v2 = true
  13. [info.quote_ttl]
  14. # Prefer explicit fields over inline tables for readability and ease of overrides
  15. mint_ttl = 600
  16. melt_ttl = 120
  17. [info.logging]
  18. # Where to output logs: "stderr" (standard error stream), "file", or "both" (default: "both")
  19. # output = "both"
  20. # Log level for console output (default: "info")
  21. # console_level = "info"
  22. # Log level for file output (default: "debug")
  23. # file_level = "debug"
  24. [mint_management_rpc]
  25. enabled = false
  26. # address = "127.0.0.1"
  27. # port = 8086
  28. #[prometheus]
  29. #enabled = true
  30. #address = "127.0.0.1"
  31. #port = 9090
  32. #
  33. [info.http_cache]
  34. # memory or redis
  35. backend = "memory"
  36. ttl = 60
  37. tti = 60
  38. # `key_prefix` and `connection_string` required for redis
  39. # key_prefix = "mintd"
  40. # connection_string = "redis://localhost"
  41. # NOTE: If [mint_management_rpc] is enabled these values will only be used on first start up.
  42. # Further changes must be made through the rpc.
  43. [mint_info]
  44. # name = "cdk-mintd mutiney net mint"
  45. # Hex pubkey of mint
  46. # pubkey = ""
  47. # description = "These are not real sats for testing only"
  48. # description_long = "A longer mint for testing"
  49. # motd = "Hello world"
  50. # icon_url = "https://this-is-a-mint-icon-url.com/icon.png"
  51. # contact_email = "hello@cashu.me"
  52. # Nostr pubkey of mint (Hex)
  53. # contact_nostr_public_key = ""
  54. # tos_url = "https://example.com/terms-of-service"
  55. [database]
  56. # Database engine (sqlite/postgres) defaults to sqlite
  57. engine = "sqlite"
  58. # PostgreSQL configuration (when engine = "postgres")
  59. [database.postgres]
  60. # PostgreSQL connection URL
  61. # Can also be set via CDK_MINTD_POSTGRES_URL or CDK_MINTD_DATABASE_URL environment variables
  62. # Environment variables take precedence over config file settings
  63. url = "postgresql://user:password@localhost:5432/cdk_mint"
  64. # TLS mode: "disable", "prefer", "require" (optional, defaults to "disable")
  65. tls_mode = "disable"
  66. # Maximum number of connections in the pool (optional, defaults to 20)
  67. max_connections = 20
  68. # Connection timeout in seconds (optional, defaults to 10)
  69. connection_timeout_seconds = 10
  70. # Auth database configuration (optional, only used when auth is enabled)
  71. [auth_database.postgres]
  72. # PostgreSQL connection URL for authentication database
  73. # Can also be set via CDK_MINTD_AUTH_POSTGRES_URL environment variable
  74. # Environment variables take precedence over config file settings
  75. url = "postgresql://user:password@localhost:5432/cdk_mint_auth"
  76. # TLS mode: "disable", "prefer", "require" (optional, defaults to "disable")
  77. tls_mode = "disable"
  78. # Maximum number of connections in the pool (optional, defaults to 20)
  79. max_connections = 20
  80. # Connection timeout in seconds (optional, defaults to 10)
  81. connection_timeout_seconds = 10
  82. [ln]
  83. # Required ln backend `cln`, `lnd`, `fakewallet`, 'lnbits', 'ldknode'
  84. ln_backend = "fakewallet"
  85. # min_mint=1
  86. # max_mint=500000
  87. # min_melt=1
  88. # max_melt=500000
  89. # [cln]
  90. # rpc_path = "/path/to/.lightning/bitcoin/lightning-rpc"
  91. # bolt12 = true # Optional, defaults to true
  92. # fee_percent = 0.02 # Optional, defaults to 2%
  93. # reserve_fee_min = 2 # Optional, defaults to 2 sats
  94. # [lnbits]
  95. # admin_api_key = ""
  96. # invoice_api_key = ""
  97. # lnbits_api = ""
  98. # fee_percent = 0.02 # Optional, defaults to 2%
  99. # reserve_fee_min = 2 # Optional, defaults to 2 sats
  100. # Note: Only LNBits v1 API is supported (websocket-based)
  101. # [lnd]
  102. # address = "https://localhost:10009"
  103. # cert_file = "/path/to/.lnd/tls.cert"
  104. # macaroon_file = "/path/to/.lnd/data/chain/bitcoin/mainnet/admin.macaroon"
  105. # fee_percent = 0.02 # Optional, defaults to 2%
  106. # reserve_fee_min = 2 # Optional, defaults to 2 sats
  107. # [ldk_node]
  108. # fee_percent = 0.02 # Optional, defaults to 2%
  109. # reserve_fee_min = 2 # Optional, defaults to 2 sats
  110. # bitcoin_network = "signet" # mainnet, testnet, signet, regtest
  111. # chain_source_type = "esplora" # esplora, bitcoinrpc
  112. #
  113. # # IMPORTANT: LDK Node Seed Configuration
  114. # # For NEW nodes: ldk_node_mnemonic MUST be set. This is the BIP39 mnemonic used to derive
  115. # # the LDK node's keys. Keep this secure and backed up!
  116. # # For EXISTING nodes: If omitted, the node will use its stored seed from the storage directory.
  117. # # This maintains backward compatibility with nodes created before this configuration was added.
  118. # ldk_node_mnemonic = "your twelve or twenty-four word mnemonic phrase here"
  119. #
  120. # # Mutinynet configuration (recommended for testing)
  121. # esplora_url = "https://mutinynet.com/api"
  122. # gossip_source_type = "rgs" # Use RGS for better performance
  123. # rgs_url = "https://rgs.mutinynet.com/snapshot/0"
  124. # storage_dir_path = "~/.cdk-ldk-node/mutinynet"
  125. # log_dir_path = ".cdk-ldk-node/ldk-node/ldk_node.log"
  126. #
  127. # # Testnet configuration
  128. # # bitcoin_network = "testnet"
  129. # # esplora_url = "https://blockstream.info/testnet/api"
  130. # # rgs_url = "https://rapidsync.lightningdevkit.org/snapshot"
  131. # # storage_dir_path = "~/.cdk-ldk-node/testnet"
  132. #
  133. # # Mainnet configuration (CAUTION: Real Bitcoin!)
  134. # # bitcoin_network = "mainnet"
  135. # # esplora_url = "https://blockstream.info/api"
  136. # # rgs_url = "https://rapidsync.lightningdevkit.org/snapshot"
  137. # # storage_dir_path = "~/.cdk-ldk-node/mainnet"
  138. #
  139. # # Bitcoin RPC configuration (when chain_source_type = "bitcoinrpc")
  140. # bitcoind_rpc_host = "127.0.0.1"
  141. # bitcoind_rpc_port = 18443
  142. # bitcoind_rpc_user = "testuser"
  143. # bitcoind_rpc_password = "testpass"
  144. #
  145. # # Node configuration
  146. # ldk_node_host = "127.0.0.1"
  147. # ldk_node_port = 8090
  148. #
  149. # # Gossip source configuration
  150. # gossip_source_type = "p2p" # p2p (direct peer-to-peer) or rgs (rapid gossip sync)
  151. #
  152. # # Webserver configuration for LDK node management interface
  153. # webserver_host = "127.0.0.1" # Default: 127.0.0.1
  154. # webserver_port = 0 # 0 = auto-assign available port
  155. [fake_wallet]
  156. supported_units = ["sat"]
  157. fee_percent = 0.02
  158. reserve_fee_min = 1
  159. min_delay_time = 1
  160. max_delay_time = 3
  161. # [grpc_processor]
  162. # gRPC Payment Processor configuration
  163. # supported_units = ["sat"]
  164. # addr = "127.0.0.1"
  165. # port = 50051
  166. # tls_dir = "/path/to/tls"
  167. #
  168. # Note: To support custom payment methods (e.g., paypal, venmo, cashapp),
  169. # your gRPC payment processor should return them in the `custom` field of
  170. # the get_settings() response. The mint will automatically create routes
  171. # for these methods (e.g., /v1/mint/quote/paypal, /v1/mint/paypal, etc.)
  172. # [auth]
  173. # Set to true to enable authentication features (defaults to false)
  174. # auth_enabled = false
  175. # openid_discovery = "http://127.0.0.1:8080/realms/cdk-test-realm/.well-known/openid-configuration"
  176. # openid_client_id = "cashu-client"
  177. # mint_max_bat=50
  178. # Authentication settings for endpoints
  179. # Options: "clear", "blind", "none" (none = disabled)
  180. # mint = "blind"
  181. # get_mint_quote = "none"
  182. # check_mint_quote = "none"
  183. # melt = "none"
  184. # get_melt_quote = "none"
  185. # check_melt_quote = "none"
  186. # swap = "blind"
  187. # restore = "blind"
  188. # check_proof_state = "none"
  189. # Transaction limits for DoS protection (optional, defaults shown)
  190. [limits]
  191. # Maximum number of inputs allowed per transaction (swap/melt)
  192. max_inputs = 1000
  193. # Maximum number of outputs allowed per transaction (mint/swap/melt)
  194. max_outputs = 1000