Business Accounts are in early access. See the overview for the model.
- Environment-Layer: rules set by the developer for the whole environment. For how to set environment-wide rules, see Creating & Managing Rules in the general Policies & Rules guide.
- Account-Layer: one policy that applies to every wallet in the business account. Only a business-account owner or admin can edit it.
- Wallet-Layer: rules for a specific wallet. On a business-account wallet, only a business-account owner or admin can edit it.
- Signer-Layer: rules for an individual signer. A signer can edit their own layer; a business-account owner or admin can edit any signer’s layer.
JavaScript SDK helpers
For account, wallet, and signer layers, the JavaScript SDK provides sugar helpers that work with aPolicyRules map. They handle rule IDs and batch updates for you.
Account-Layer
Usescope: { businessAccountId } to apply rules to every wallet in the business account.
Wallet-Layer
Usescope: { walletId }, where walletId is the wallet’s verifiedCredentialId.
Signer-Layer
Usescope: { walletId, shareSetId } to target a specific signer. For the caller’s own signer, scope: { shareSetId } also works if the wallet account is in the client’s state.
Signer-modifiable defaults
When you setmodifiableBySigner: true on a wallet or signer-layer rule, the signer can later edit or remove that rule. This is useful for recommended defaults, such as an approved address list or a spending limit, that a signer can adjust without contacting an admin or owner.
A signer can only modify the rule’s constraint fields, such as addresses and valueLimit. They cannot change the rule type, disable Blockaid security checks, or add operation restrictions.
For API examples, see Managing layers.
Rule fields
AWaasPolicyRule has the following fields:
For allowlist semantics, address evaluation, and value limits, see Policies & Rules.
Next steps
Manage signers
Add and remove signers on a business-account wallet.
Sign transactions
Sign with a business-account wallet.