View Issue Details

IDProjectCategoryView StatusLast Update
0011158Talerexchangepublic2026-02-25 15:28
ReporterAntoine A Assigned ToChristian Grothoff  
PriorityhighSeveritymajorReproducibilityN/A
Status assignedResolutionopen 
Summary0011158: Clarify incoming wire transfer subject constraint
DescriptionThe current unspecified rule is that only a public reserve key can be used only once, whereas a KYC key can be reused and the same key can therefore be used once for the reserve and several times for KYC.
We need to specify this formally somewhere (in the wire gateway API?) and ensure that the exchange and wire gateway implementations behave consistently.
Tagsdiscussion-needed

Activities

Christian Grothoff

2026-02-25 13:40

manager   ~0027884

Ah, we only allow ONE KYC AUTH transfer per unique subject AND origin account. Which makes sense, as more than one is clearly redundant. ;-).

Now, we could relax that constraint, or libeufin can just 'hide' those duplicate transactions from the exchange. Is the latter hard to do?

Antoine A

2026-02-25 13:44

developer   ~0027885

So a different account can reuse the key ?
I would prefer to enforce the rule of one key can only be used once, this make everything simpler and I guess it's what we currently have in the database as it never crashed before

Antoine A

2026-02-25 13:48

developer   ~0027886

We could allow the same key to be used once for KYC and once for reserve as it can be stored in different DB tables, but most wire gateway would be more restrictive and clients should not try reuse them

Antoine A

2026-02-25 13:49

developer   ~0027887

With the new registration endpoint, wallet can check for reuse before making a transfer. This means bounces should never happen under normal use after this change

Christian Grothoff

2026-02-25 14:15

manager   ~0027891

Yes, another account can reuse the key. In fact MUST: you can have a single merchant instance (=key) with multiple bank accounts. So for that scenario, the merchant would have to use the same key from multiple accounts.

Christian Grothoff

2026-02-25 14:17

manager   ~0027892

As for new endpoint: you still must handle the case where you do get duplicate incoming wire transfers -- say from clients that don't use the new endpoint.

Antoine A

2026-02-25 14:20

developer   ~0027894

Ok, let's keep the same logic then

Christian Grothoff

2026-02-25 15:28

manager   ~0027895

Ok, so assign bug to you or consider resolved or what?

Issue History

Date Modified Username Field Change
2026-02-25 13:35 Antoine A New Issue
2026-02-25 13:35 Antoine A Status new => assigned
2026-02-25 13:35 Antoine A Assigned To => Christian Grothoff
2026-02-25 13:40 Christian Grothoff Note Added: 0027884
2026-02-25 13:44 Antoine A Note Added: 0027885
2026-02-25 13:48 Antoine A Note Added: 0027886
2026-02-25 13:49 Antoine A Note Added: 0027887
2026-02-25 14:15 Christian Grothoff Note Added: 0027891
2026-02-25 14:16 Christian Grothoff Tag Attached: discussion-needed
2026-02-25 14:17 Christian Grothoff Note Added: 0027892
2026-02-25 14:20 Antoine A Note Added: 0027894
2026-02-25 15:28 Christian Grothoff Note Added: 0027895