Open questions
Ten questions, unresolved by design: each one is a decision for Nexa, or a joint decision, and each is referenced from the place in the portal where it bites. This page is the agenda for the joint technical meeting.
1. Quote validity
What expires_at window can Nexa offer, fixed or liquidity-dependent?
Bites at: 1 · Quote & accept ·
POST /v1/quotes [N]
2. Deposit deadline & credit semantics
How long does Nexa hold the locked rate waiting for the first deposit; does
an additional_funds_requested extend it; what exactly do credit.sent vs
credit.confirmed mean inside Nexa's core banking and what's the expected
gap?
Bites at: 1 · Quote & accept ·
3 · Credit decision ·
POST /v1/quotes/{tesser_quote_id}/accept [N]
3. Credit-decision rules & SLA
Given deposits are reports, what are Nexa's decision rules (when credit-as-quoted vs pro-rata vs request-more vs reject), and how quickly after a deposit report does Tesser get a decision event?
Bites at: 2 · Deposit reporting ·
3 · Credit decision ·
POST /v1/quotes/{tesser_quote_id}/deposits [N]
4. Rejected-deposit disposition
When Nexa rejects, what happens operationally to the USDC already in custody? (Runbook, out-of-band, but must exist before first live GTQ.)
Bites at: 2 · Deposit reporting · 3 · Credit decision · Lifecycle
5. Payment rails & statuses
Which Guatemalan rail(s); confirm that a payout can be executed and
confirmed synchronously within an API call's budget, how long after a
COMPLETED response a failure can still surface, whether RETURNED is real
on that rail, expected settlement time, and status_metadata contents.
Can Nexa implement the retry join? A call that times out mid-execution
leaves Tesser without an outcome, so a retry with the same
tesser_quote_id must join the execution already running and return its
final outcome rather than start a second payout. If Nexa cannot implement
that, the recorded fallback is to reject the retry with
409 PAYMENT_IN_PROGRESS and have Tesser poll the
quote read [N] instead. The
meeting should pick one of the two.
Bites at: 4 · GTQ payout ·
POST /v1/payments [N]
6. Nexa webhook sender
Retry policy/backoff, and confirmation that Nexa presents its client cert when delivering webhooks (assumed in the auth design).
Bites at: Webhooks guide ·
POST /v1/webhooks/nexa/{organizationId} [T]
7. Failure recovery
Confirm manual handling of PAYMENT_FAILED/RETURNED for the POC (no API
retry semantics).
Bites at: 4 · GTQ payout · Lifecycle
8. Auth confirmation
Nexa signs off on mTLS + per-customer API key, and picks fingerprint-pinning vs CA validation for Tesser's client cert.
Bites at: Authentication
9. Additional-funds mechanics
Is usdc_additional_requested binding or indicative; can Nexa cancel the
request and credit anyway?
Bites at: 3 · Credit decision ·
POST /v1/quotes/{tesser_quote_id}/deposits [N]
10. Environments
Nexa sandbox availability, hostnames both sides, IP allowlisting needs (no VPN per the brief, but banks often allowlist anyway).
Bites at: Authentication