Skip to content

Commit 96874ee

Browse files
committed
docs(readme): add “Static address mode” to 5.1 Payment flow
Explain how to keep a permanent deposit address per customer by: - Creating a large reusable invoice per customer/coin - Reusing the same invoice (address remains unchanged) - Using “Recalculate invoice rate after” to refresh rate snapshots Add notes about thresholds, confirmations, and reconciliation.
1 parent 676acde commit 96874ee

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,26 @@ By default, when adding a transaction and calculating the amount in fiat, SHKeep
263263
</p>
264264

265265
If you have set “Recalculate invoice rate” to a value other than 0, then in the case of an invoice being paid after the specified time, the exchange rate will be the one at the moment the transaction is credited. When creating an invoice in SHKeeper, an object is returned that includes the `recalculate_after` field, allowing you to inform the customer of how long the current exchange rate will be held for them.
266+
267+
#### Static address mode (advanced)
268+
269+
For businesses that need a permanent deposit address per customer (e.g., exchanges, custodial flows, recurring deposits), SHKeeper supports a “static address” usage pattern **without** changing the core invoice mechanics:
270+
271+
1. **Create a “large” reusable invoice per customer and per coin.**
272+
Set an intentionally high target amount so the invoice never reaches the “fully paid” state during normal operation. This lets you reuse the **same address** for many deposits from the same customer.
273+
274+
2. **Keep the address static by reusing the same invoice.**
275+
Each invoice in SHKeeper maps to a unique blockchain address. By reusing that invoice, you keep the deposit address unchanged for the customer.
276+
277+
3. **Control pricing exposure with “Recalculate invoice rate after”.**
278+
Set a minimal recalculation period (e.g., 1 hour) so fiat/crypto conversion snapshots are refreshed at your cadence. Within the configured period, the rate remains fixed; after it expires, the next transactions will use the updated rate snapshot automatically.
279+
280+
**Notes & caveats**
281+
282+
- This approach preserves a **static deposit address** while keeping rate handling predictable via the recalculation window.
283+
- Standard invoice thresholds (under/overpayment windows) and confirmations still apply.
284+
- Accounting & reconciliation remain invoice-centric: you attribute multiple deposits to the same customer by keeping a dedicated invoice per customer/coin.
285+
266286
<a name="api"></a>
267287
### 5.2. API
268288
<a name="auth"></a>

0 commit comments

Comments
 (0)