Core Entities
Thiqwave organises money movement around a small set of objects. Understanding how they relate makes the rest of the API obvious.
Object map
Partner (your company)
└── Application ← one set of credentials per product/environment
├── Environment ← TEST (sandbox) or LIVE (production)
├── Participant ← the business/person you collect from or pay on behalf of
│ ├── Beneficiary ← a payout destination (bank account or wallet)
│ └── Account ← ledger-backed balances for this participant
├── Quote ← a locked corridor + FX rate + fees (short TTL)
│ └── Transaction ← the money movement created from an accepted quote
└── Webhook endpoint ← where Thiqwave delivers signed event callbacks
Definitions
| Entity | What it is | Created by |
|---|---|---|
| Partner | Your organisation on Thiqwave. | Onboarding / invitation |
| Application | A logical grouping of credentials for one product or integration. Each application belongs to exactly one environment. | Dashboard (or applications API) |
| Environment | TEST (sandbox, simulated money) or LIVE (production, real funds). Fully isolated — separate credentials, separate data. | Tied to the application |
| Participant | The business or individual you are collecting from or paying on behalf of. Runs through KYB before money movement. | POST /v1/participants |
| Beneficiary | A payout destination owned by a participant — a bank account, on-chain wallet, or mobile wallet. | POST /v1/beneficiaries |
| Account | A ledger-backed balance for a participant and asset. Balances are read live from the platform ledger. | Derived from transactions |
| Corridor | A routable source→destination pair (e.g. AE-IN = AED in → INR out). | Platform configuration |
| Quote | A locked corridor + FX rate + fee breakdown, valid for a short TTL (~2 min). | POST /v1/transactions/quote |
| Transaction | The actual money movement, materialised from an accepted quote and a beneficiary. Stateful and idempotent. | POST /v1/transactions |
| Webhook endpoint | Your HTTPS URL that receives signed event deliveries. | POST /v1/webhooks |
How they fit together (the happy path)
- You hold an Application with a
TESTorLIVEAPI key. - Create a Participant (the sender). It passes KYB.
- Create a Beneficiary under that participant (the receiver).
- Request a Quote for the corridor (e.g.
AE-IN, AED → INR). - Accept the quote to lock the rate.
- Create a Transaction from the accepted quote + beneficiary.
- Subscribe a Webhook endpoint to receive
settlement.completed.
IDs
All entities expose stable external IDs (UUIDv7 / NanoID-style). Internal database IDs are never exposed. Always pass and store the external id.
Next
- Settlement flow — steps 4–6 in detail.
- Transaction lifecycle — the states a transaction passes through.