Skip to main content
Business Accounts are in early access. See the overview for the model.
Business-account wallets use Dynamic’s policy composition feature. Rules are evaluated in layers, from the broadest to the narrowest:
  • 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.
A transaction must pass every layer. For the rule types and security model, see Policies & Rules.

JavaScript SDK helpers

For account, wallet, and signer layers, the JavaScript SDK provides sugar helpers that work with a PolicyRules map. They handle rule IDs and batch updates for you.

Account-Layer

Use scope: { businessAccountId } to apply rules to every wallet in the business account.

Wallet-Layer

Use scope: { walletId }, where walletId is the wallet’s verifiedCredentialId.

Signer-Layer

Use scope: { 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 set modifiableBySigner: 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.
modifiableBySigner cannot be set on environment-scope rules, and it cannot be combined with disableBlockaidSecurityChecks or operationRestrictions.
For API examples, see Managing layers.

Rule fields

A WaasPolicyRule 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.
Last modified on August 13, 2026