Reference
Implementation Notes & Best Practices
Notes
Keep userId and userName stable across sessions per currency.
Use UTC timestamps for digest; agree on 12‑hour formatting exactly as TS expects.
Maintain a session cache keyed by token for quick wallet lookups.
Record all wallet calls with full request/response for reconciliation.
Expose an internal admin tool to search by externalTradeId.
For production, rotate the digest secret periodically and monitor for mismatches.
Tap-specific additions:
High-frequency closes. A 2s cell that wins fires
closetradewithin ~80 ms of the touch tick. Expect bursts when many cells expire on the same 2-second boundary; partner endpoint must handle short spikes well above steady-state RPS.Idempotency key.
(externalTradeId, externalTradeType="tap")— eachexternalTradeIdarrives atopentradeonce andclosetradeonce.Don't re-validate cell coordinates. TS is authoritative on
pMin/pMax/tStart/tEnd.closetrade.data.touchPriceis informational — surface in reconciliation reports / trade-history UIs; do not use it for wallet logic.Cancelled settlements with no prior partner signal are normal — they correspond to trading-window boundaries.
Support
Coordinate with Tradesmarter integration contacts for IP allowlists, currency enablement, and production cutover.