Feature: allow multiple payment backends #1465

Open
opened 2025-12-26 14:32:21 +00:00 by asmogo · 2 comments
asmogo commented 2025-12-26 14:32:21 +00:00 (Migrated from github.com)

Currently, cdk-mintd is designed to allow a single lightning backend. Expanding this to allow multiple concurrent backends would enable:

  • Having multiple lightning backends for redundancy.
  • Unit specific backends: sat - usd - eur in a single mint

Solution to this could be allowing a arrays of [ln] backends

Currently, cdk-mintd is designed to allow a single lightning backend. Expanding this to allow multiple concurrent backends would enable: - Having multiple lightning backends for redundancy. - Unit specific backends: sat - usd - eur in a single mint Solution to this could be allowing a arrays of `[ln]` backends
asmogo commented 2025-12-26 14:33:55 +00:00 (Migrated from github.com)

we should add this before #1127

we should add this before #1127
thesimplekid commented 2025-12-27 16:25:05 +00:00 (Migrated from github.com)

Having multiple lightning backends for redundancy.

This is a limitation of cdk not mintd. cdk mint has the payment processors as a hashmap of the unit/method pair being the key (github.com/cashubtc/cdk@54a0b54bea/crates/cdk/src/mint/mod.rs (L70)). So If we were to support multiple backends for a unit method pair we would have to change this and likely implement some method of selecting which one to use.

Unit specific backends: sat - usd - eur in a single mint

This is a limitation of mintd config and already supported by cdk, so we should add support for this and should not be to difficult.

I am not against supporting multiple backends for a single unit/method paid but I think it would be a bigger refactor and we should split them.

Solution to this could be allowing a arrays of [ln] backends including multiple [database] blocks

Array of ln backends makes sense. But why do we need multiple database blocks?

> Having multiple lightning backends for redundancy. This is a limitation of cdk not mintd. cdk mint has the payment processors as a hashmap of the unit/method pair being the key (https://github.com/cashubtc/cdk/blob/54a0b54bea3c2783f41d265e4110b8c589a2222e/crates/cdk/src/mint/mod.rs#L70). So If we were to support multiple backends for a unit method pair we would have to change this and likely implement some method of selecting which one to use. > Unit specific backends: sat - usd - eur in a single mint This is a limitation of mintd config and already supported by cdk, so we should add support for this and should not be to difficult. I am not against supporting multiple backends for a single unit/method paid but I think it would be a bigger refactor and we should split them. > Solution to this could be allowing a arrays of [ln] backends including multiple [database] blocks Array of ln backends makes sense. But why do we need multiple database blocks?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cashubtc/cdk#1465
No description provided.