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 withkeccak256(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.