example.config.toml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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. [info.quote_ttl]
  9. # Prefer explicit fields over inline tables for readability and ease of overrides
  10. mint_ttl = 600
  11. melt_ttl = 120
  12. [info.logging]
  13. # Where to output logs: "stderr" (standard error stream), "file", or "both" (default: "both")
  14. # output = "both"
  15. # Log level for console output (default: "info")
  16. # console_level = "info"
  17. # Log level for file output (default: "debug")
  18. # file_level = "debug"
  19. [mint_management_rpc]
  20. enabled = false
  21. # address = "127.0.0.1"
  22. # port = 8086
  23. #[prometheus]
  24. #enabled = true
  25. #address = "127.0.0.1"
  26. #port = 9090
  27. #
  28. [info.http_cache]
  29. # memory or redis
  30. backend = "memory"
  31. ttl = 60
  32. tti = 60
  33. # `key_prefix` and `connection_string` required for redis
  34. # key_prefix = "mintd"
  35. # connection_string = "redis://localhost"
  36. # NOTE: If [mint_management_rpc] is enabled these values will only be used on first start up.
  37. # Further changes must be made through the rpc.
  38. [mint_info]
  39. # name = "cdk-mintd mutiney net mint"
  40. # Hex pubkey of mint
  41. # pubkey = ""
  42. # description = "These are not real sats for testing only"
  43. # description_long = "A longer mint for testing"
  44. # motd = "Hello world"
  45. # icon_url = "https://this-is-a-mint-icon-url.com/icon.png"
  46. # contact_email = "hello@cashu.me"
  47. # Nostr pubkey of mint (Hex)
  48. # contact_nostr_public_key = ""
  49. # tos_url = "https://example.com/terms-of-service"
  50. [database]
  51. # Database engine (sqlite/postgres) defaults to sqlite
  52. engine = "sqlite"
  53. # PostgreSQL configuration (when engine = "postgres")
  54. [database.postgres]
  55. # PostgreSQL connection URL
  56. # Can also be set via CDK_MINTD_POSTGRES_URL or CDK_MINTD_DATABASE_URL environment variables
  57. # Environment variables take precedence over config file settings
  58. url = "postgresql://user:password@localhost:5432/cdk_mint"
  59. # TLS mode: "disable", "prefer", "require" (optional, defaults to "disable")
  60. tls_mode = "disable"
  61. # Maximum number of connections in the pool (optional, defaults to 20)
  62. max_connections = 20
  63. # Connection timeout in seconds (optional, defaults to 10)
  64. connection_timeout_seconds = 10
  65. # Auth database configuration (optional, only used when auth is enabled)
  66. [auth_database.postgres]
  67. # PostgreSQL connection URL for authentication database
  68. # Can also be set via CDK_MINTD_AUTH_POSTGRES_URL environment variable
  69. # Environment variables take precedence over config file settings
  70. url = "postgresql://user:password@localhost:5432/cdk_mint_auth"
  71. # TLS mode: "disable", "prefer", "require" (optional, defaults to "disable")
  72. tls_mode = "disable"
  73. # Maximum number of connections in the pool (optional, defaults to 20)
  74. max_connections = 20
  75. # Connection timeout in seconds (optional, defaults to 10)
  76. connection_timeout_seconds = 10
  77. [ln]
  78. # Required ln backend `cln`, `lnd`, `fakewallet`, 'lnbits', 'ldknode'
  79. ln_backend = "fakewallet"
  80. # min_mint=1
  81. # max_mint=500000
  82. # min_melt=1
  83. # max_melt=500000
  84. [cln]
  85. rpc_path = ""
  86. fee_percent = 0.04
  87. reserve_fee_min = 4
  88. # [lnbits]
  89. # admin_api_key = ""
  90. # invoice_api_key = ""
  91. # lnbits_api = ""
  92. # fee_percent = 0.04
  93. # # Fee in sats
  94. # reserve_fee_min = 4
  95. # Note: Only LNBits v1 API is supported (websocket-based)
  96. # [lnd]
  97. # address = "https://domain:port"
  98. # macaroon_file = ""
  99. # cert_file = ""
  100. # fee_percent=0.04
  101. # reserve_fee_min=4
  102. # [ldk_node]
  103. # fee_percent = 0.04
  104. # reserve_fee_min = 4
  105. # bitcoin_network = "signet" # mainnet, testnet, signet, regtest
  106. # chain_source_type = "esplora" # esplora, bitcoinrpc
  107. #
  108. # # Mutinynet configuration (recommended for testing)
  109. # esplora_url = "https://mutinynet.com/api"
  110. # gossip_source_type = "rgs" # Use RGS for better performance
  111. # rgs_url = "https://rgs.mutinynet.com/snapshot/0"
  112. # storage_dir_path = "~/.cdk-ldk-node/mutinynet"
  113. #
  114. # # Testnet configuration
  115. # # bitcoin_network = "testnet"
  116. # # esplora_url = "https://blockstream.info/testnet/api"
  117. # # rgs_url = "https://rapidsync.lightningdevkit.org/snapshot"
  118. # # storage_dir_path = "~/.cdk-ldk-node/testnet"
  119. #
  120. # # Mainnet configuration (CAUTION: Real Bitcoin!)
  121. # # bitcoin_network = "mainnet"
  122. # # esplora_url = "https://blockstream.info/api"
  123. # # rgs_url = "https://rapidsync.lightningdevkit.org/snapshot"
  124. # # storage_dir_path = "~/.cdk-ldk-node/mainnet"
  125. #
  126. # # Bitcoin RPC configuration (when chain_source_type = "bitcoinrpc")
  127. # bitcoind_rpc_host = "127.0.0.1"
  128. # bitcoind_rpc_port = 18443
  129. # bitcoind_rpc_user = "testuser"
  130. # bitcoind_rpc_password = "testpass"
  131. #
  132. # # Node configuration
  133. # ldk_node_host = "127.0.0.1"
  134. # ldk_node_port = 8090
  135. #
  136. # # Gossip source configuration
  137. # gossip_source_type = "p2p" # p2p (direct peer-to-peer) or rgs (rapid gossip sync)
  138. #
  139. # # Webserver configuration for LDK node management interface
  140. # webserver_host = "127.0.0.1" # Default: 127.0.0.1
  141. # webserver_port = 0 # 0 = auto-assign available port
  142. [fake_wallet]
  143. supported_units = ["sat"]
  144. fee_percent = 0.02
  145. reserve_fee_min = 1
  146. min_delay_time = 1
  147. max_delay_time = 3
  148. # [grpc_processor]
  149. # gRPC Payment Processor configuration
  150. # supported_units = ["sat"]
  151. # addr = "127.0.0.1"
  152. # port = 50051
  153. # tls_dir = "/path/to/tls"
  154. # [auth]
  155. # Set to true to enable authentication features (defaults to false)
  156. # auth_enabled = false
  157. # openid_discovery = "http://127.0.0.1:8080/realms/cdk-test-realm/.well-known/openid-configuration"
  158. # openid_client_id = "cashu-client"
  159. # mint_max_bat=50
  160. # Authentication settings for endpoints
  161. # Options: "clear", "blind", "none" (none = disabled)
  162. # mint = "blind"
  163. # get_mint_quote = "none"
  164. # check_mint_quote = "none"
  165. # melt = "none"
  166. # get_melt_quote = "none"
  167. # check_melt_quote = "none"
  168. # swap = "blind"
  169. # restore = "blind"
  170. # check_proof_state = "none"