Skip to main content
All signer grants belong to a root and cover its current and future children. There are no per-child grants. An expiry of zero means no expiry. A nonzero expiry is a Unix timestamp evaluated at execution. Stored grants and events contain the exact granted bits; authority checks apply the implications above.

Administration

Use authorizeAccountSigner and revokeAccountSigner with account: rootOwner. Signed variants use the AccountCore version-1 EIP-712 domain and the current owner-address authorization nonce. Anyone may submit a valid signature, but the authorizer must still have authority when it executes. Each successful grant or revocation advances the root epoch. Read it for any family member with getAccountAuthorizationEpoch({ accountId }). For signer administration, getSignerAuthorizationNonce({ account: rootOwner }) returns the same root state, or zero before registration. Creating a child does not change the epoch. Reauthorizing a revoked signer does not revive its previous intents or stored triggers.

Check live authority

Check TRADE against the actual target root or child ID. For a delegated signer, child-ID queries mask out non-trading permissions; check ADMIN, WITHDRAW, and INTERNAL_TRANSFER against the root ID. Internal transfers and signer administration also authorize against the root. Check one permission bit at a time. A signed message, Relay JWT, or installed EIP-7702 delegation is not proof of live AccountCore permission.