Skip to main content

Reveal handles

Pass the cToken addresses for authorization scope. Results follow handle order. Zero handles resolve locally to zero; duplicates decrypt once. Malformed handles fail locally. decryptHandles rejects if any handle remains pending; balancesSettled exposes pending rows. A declined signature ends the operation.

Session lifecycle

The first reveal may request a temporary session signature, reused for subsequent reveals. Sessions bind to owner, chain, and verifier; default expiry is four hours.
Session contains account (temporary signer), voucher, expiresAt (Unix milliseconds), and dialect (generic or ctoken). Adoption checks expiry, dialect, and owner. Normal use creates the session internally. Node and browsers share this flow. A Node signer may still require user interaction. To change accounts or transports, construct a new client.

Scoped authorization and smart accounts

The default verifier restricts requests to its factory’s cTokens. The SDK encodes the underlying token scope; an empty voucher allowlist permits future holdings. Custom verifiers may apply different policies. Sessions authorize confidential reads and attestations. Transactions still need the wallet. Keep session signers in memory and clear them on disconnect. Smart accounts use the same session flow and must produce signatures accepted by their ERC-1271 contract. For direct Lightning integration, see raw requests.