Skip to main content
Tplus custodies funds in onchain contracts. The offchain system moves them only by producing quorum-signed, nonce-bound, expiring approvals that the contracts verify (see the trust model).

Addresses

Contract addresses are not hardcoded. Read live values from the Registry endpoints: Vaults are deployed per supported chain; see supported chains.

Approval signing

Settlement and withdrawal approvals share one custom keccak256 scheme. A domain hash binds the vault address, chain, and schema version; a type tag identifies the approval schema; the digest is built with keccak256(bytes.concat(...)) over fixed-width encoded fields and signed with secp256k1 ECDSA. This is not standard EIP-712: there is no \x19\x01 envelope and no EIP-712 struct hash. Vaults verify signatures against registered keys. Details: trust model.

Nonces

Nonces are independent sequences per user, per chain, and per action type; settlement nonces are additionally per sub-account. The vault tracks each onchain counter: