Self-custody by default
Customer private keys never reach Ishtaran. Wallet generation and transaction signing happen entirely in the customer's own environment, through an official SDK. Ishtaran verifies each signature against an independently computed hash, relays the transaction, and monitors and reconciles execution -- see how it works.
How self-custody works →Authentication
Each Application/Environment has its own API Key, a high-entropy string generated with a cryptographically secure random number generator -- never stored in plain text, only its hash. Human access to the dashboard uses short-lived, signed-token authentication.
Encryption
TLS is mandatory on every external and internal communication -- no unencrypted traffic, even within a private network. Data at rest (database, backups) is encrypted at the infrastructure level.
Isolation between Organizations and environments
Each internal module keeps its own data physically segregated. Every API Key is bound to exactly one Environment at creation and is only ever validated against that Environment's data -- a Sandbox key structurally cannot authenticate against Production data, or vice versa.
Audit and traceability
Every balance movement is a ledger entry (Ledger Entry), never a direct value change. Every sensitive administrative action is logged with the authenticated actor's identifier, end to end.
Idempotency
Every financially relevant operation requires an idempotency key -- resending the same request, due to a network failure or retry, never duplicates the effect.