example.config.toml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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. # # Mutinynet configuration (recommended for testing)
  114. # esplora_url = "https://mutinynet.com/api"
  115. # gossip_source_type = "rgs" # Use RGS for better performance
  116. # rgs_url = "https://rgs.mutinynet.com/snapshot/0"
  117. # storage_dir_path = "~/.cdk-ldk-node/mutinynet"
  118. #
  119. # # Testnet configuration
  120. # # bitcoin_network = "testnet"
  121. # # esplora_url = "https://blockstream.info/testnet/api"
  122. # # rgs_url = "https://rapidsync.lightningdevkit.org/snapshot"
  123. # # storage_dir_path = "~/.cdk-ldk-node/testnet"
  124. #
  125. # # Mainnet configuration (CAUTION: Real Bitcoin!)
  126. # # bitcoin_network = "mainnet"
  127. # # esplora_url = "https://blockstream.info/api"
  128. # # rgs_url = "https://rapidsync.lightningdevkit.org/snapshot"
  129. # # storage_dir_path = "~/.cdk-ldk-node/mainnet"
  130. #
  131. # # Bitcoin RPC configuration (when chain_source_type = "bitcoinrpc")
  132. # bitcoind_rpc_host = "127.0.0.1"
  133. # bitcoind_rpc_port = 18443
  134. # bitcoind_rpc_user = "testuser"
  135. # bitcoind_rpc_password = "testpass"
  136. #
  137. # # Node configuration
  138. # ldk_node_host = "127.0.0.1"
  139. # ldk_node_port = 8090
  140. #
  141. # # Gossip source configuration
  142. # gossip_source_type = "p2p" # p2p (direct peer-to-peer) or rgs (rapid gossip sync)
  143. #
  144. # # Webserver configuration for LDK node management interface
  145. # webserver_host = "127.0.0.1" # Default: 127.0.0.1
  146. # webserver_port = 0 # 0 = auto-assign available port
  147. [fake_wallet]
  148. supported_units = ["sat"]
  149. fee_percent = 0.02
  150. reserve_fee_min = 1
  151. min_delay_time = 1
  152. max_delay_time = 3
  153. # [grpc_processor]
  154. # gRPC Payment Processor configuration
  155. # supported_units = ["sat"]
  156. # addr = "127.0.0.1"
  157. # port = 50051
  158. # tls_dir = "/path/to/tls"
  159. #
  160. # Note: To support custom payment methods (e.g., paypal, venmo, cashapp),
  161. # your gRPC payment processor should return them in the `custom` field of
  162. # the get_settings() response. The mint will automatically create routes
  163. # for these methods (e.g., /v1/mint/quote/paypal, /v1/mint/paypal, etc.)
  164. # [auth]
  165. # Set to true to enable authentication features (defaults to false)
  166. # auth_enabled = false
  167. # openid_discovery = "http://127.0.0.1:8080/realms/cdk-test-realm/.well-known/openid-configuration"
  168. # openid_client_id = "cashu-client"
  169. # mint_max_bat=50
  170. # Authentication settings for endpoints
  171. # Options: "clear", "blind", "none" (none = disabled)
  172. # mint = "blind"
  173. # get_mint_quote = "none"
  174. # check_mint_quote = "none"
  175. # melt = "none"
  176. # get_melt_quote = "none"
  177. # check_melt_quote = "none"
  178. # swap = "blind"
  179. # restore = "blind"
  180. # check_proof_state = "none"
  181. # Transaction limits for DoS protection (optional, defaults shown)
  182. [limits]
  183. # Maximum number of inputs allowed per transaction (swap/melt)
  184. max_inputs = 1000
  185. # Maximum number of outputs allowed per transaction (mint/swap/melt)
  186. max_outputs = 1000