Crypto wallet policy engine

Crypto wallet policies for teams and applications.

Den is a crypto wallet policy engine for teams and developers. Set who can initiate and approve transactions, which assets and contract actions are allowed, and how much a permitted operation can move through the dashboard or API.

Try a policy
Explore the controls

Build policies around
the way your team works.

Bring approvals, permissions, and spending boundaries into the same workflow. Explore each capability, then try the controls for yourself.

Choose who approves. Set how many.

Require approvals from a specific person or a group, with the threshold that fits the operation. A vendor-payment policy can require 2 of 5 members, while another policy governs routine transfers with its own approval requirements.

  • Set an N-of-M threshold for a group.
  • Give different operations different approval rules.
  • Use automatic approval for flows you have explicitly permitted.
Try a policy

Give each team its own scope.

Define which accounts a policy covers and which people or groups can initiate transactions. Your Operations team can prepare a payment while the Administrator group provides the required approvals. Organize treasury, operating, and customer accounts around their own workflows.

  • Scope a policy to selected source accounts.
  • Choose an initiating member or group.
  • Separate requesting a transaction from approving it.
Try a policy

Keep transfers inside clear boundaries.

Use token and destination conditions to describe the transfers a policy permits. Limit a vendor-payment flow to USDC and approved recipients, or give another account a different set of permissions. The selected policy determines which requests qualify.

  • Choose an allowed token or broader token scope.
  • Maintain approved destination addresses.
  • Apply different policies to different payment flows.
Try a policy

Set limits that fit your operations.

Set a token-transfer amount limit for each transfer or across a configured time interval. Track usage per initiator, source account, or destination, or combine usage across them. Choose the interval and its start time to define when the spending allowance resets.

  • Choose a token and set its transfer limit.
  • Cap total transfers over a configured interval.
  • Choose the start time and scope for the allowance.
Try a policy

Allow the action you actually intend.

A contract permission can be more precise than access to an entire application. Scope a policy to a contract address, permitted functions, and argument conditions. For example, allow a supply action in a lending contract while keeping a withdrawal outside that policy.

  • Choose the destination contract.
  • Allow specific functions.
  • Constrain argument values for the permitted call.
Try a policy

Automate within the rules you set.

Use the API and TypeScript SDK to initiate transactions under your organization’s policies. An automatic-approval policy can handle a permitted routine flow without manual member approvals, while a policy for another operation can require a group to sign.

  • Use a programmatic API member as an initiator.
  • Apply transaction conditions to automated requests.
  • Keep manual approval for operations that need it.
Try a policy

Review the rules before changing them.

Policy changes follow a proposal workflow. Review the intended changes and collect the required administrative approvals before they take effect. The authority to change a policy is distinct from the members allowed to approve transactions under it.

  • Review proposed additions and edits.
  • Apply your organization’s administrative approval requirements.
  • Keep policy administration separate from day-to-day payment approval.
Try a policy

Crypto wallet policy and approval FAQs

What is a crypto wallet policy engine?

A policy engine applies the transaction rules you configure: which accounts and initiators can use a policy, what transfers or contract calls it permits, and which approvals are required. Den validates the selected policy in the signing client, Guardian service, and onchain smart contracts during standard execution.

Which policy controls can I configure?

Approval thresholds: Choose who approves. Set how many.

Require approvals from a specific person or a group, with the threshold that fits the operation. A vendor-payment policy can require 2 of 5 members, while another policy governs routine transfers with its own approval requirements.

  • Set an N-of-M threshold for a group.
  • Give different operations different approval rules.
  • Use automatic approval for flows you have explicitly permitted.

People & accounts: Give each team its own scope.

Define which accounts a policy covers and which people or groups can initiate transactions. Your Operations team can prepare a payment while the Administrator group provides the required approvals. Organize treasury, operating, and customer accounts around their own workflows.

  • Scope a policy to selected source accounts.
  • Choose an initiating member or group.
  • Separate requesting a transaction from approving it.

Tokens & recipients: Keep transfers inside clear boundaries.

Use token and destination conditions to describe the transfers a policy permits. Limit a vendor-payment flow to USDC and approved recipients, or give another account a different set of permissions. The selected policy determines which requests qualify.

  • Choose an allowed token or broader token scope.
  • Maintain approved destination addresses.
  • Apply different policies to different payment flows.

Spending limits: Set limits that fit your operations.

Set a token-transfer amount limit for each transfer or across a configured time interval. Track usage per initiator, source account, or destination, or combine usage across them. Choose the interval and its start time to define when the spending allowance resets.

  • Choose a token and set its transfer limit.
  • Cap total transfers over a configured interval.
  • Choose the start time and scope for the allowance.

Contract permissions: Allow the action you actually intend.

A contract permission can be more precise than access to an entire application. Scope a policy to a contract address, permitted functions, and argument conditions. For example, allow a supply action in a lending contract while keeping a withdrawal outside that policy.

  • Choose the destination contract.
  • Allow specific functions.
  • Constrain argument values for the permitted call.

Bounded automation: Automate within the rules you set.

Use the API and TypeScript SDK to initiate transactions under your organization’s policies. An automatic-approval policy can handle a permitted routine flow without manual member approvals, while a policy for another operation can require a group to sign.

  • Use a programmatic API member as an initiator.
  • Apply transaction conditions to automated requests.
  • Keep manual approval for operations that need it.

Policy changes: Review the rules before changing them.

Policy changes follow a proposal workflow. Review the intended changes and collect the required administrative approvals before they take effect. The authority to change a policy is distinct from the members allowed to approve transactions under it.

  • Review proposed additions and edits.
  • Apply your organization’s administrative approval requirements.
  • Keep policy administration separate from day-to-day payment approval.

How do policies relate to multisig approvals?

An approval threshold is one part of a Den policy. You can require 2 of 5 members of a group and also constrain the transaction’s asset, destination, amount, or contract call. Different policies can give different operations their own permissions and approval requirements.

Can transactions be approved automatically?

Yes. An automatic-approval policy can permit a defined flow without manual member approvals. The transaction must still meet that policy’s conditions and authorization requirements. Programmatic API members can initiate permitted operations through the API and TypeScript SDK.

Can I restrict tokens, recipients, and spending?

Token-transfer conditions can specify the token, allowed destinations, and amount threshold. An amount limit applies to a selected token. Usage limits can cap the total transferred during a configured interval, with scopes such as an initiator, source account, destination, or combined usage.

Can a policy allow only one smart contract action?

Yes. Contract-interaction conditions can specify the destination contract, permitted functions, and argument values. This lets you define the operation a policy authorizes rather than granting unrestricted access to every action in an application.

Who can change a policy?

Policy changes follow the organization’s administrative permissions and proposal workflow. Proposed changes are reviewed and collect their required approvals before taking effect. Approving a transaction under a policy does not by itself grant permission to change that policy.

Try a policy

Change the rules.
See what gets through.

Your policy
Token
USDC
Destinations

Send 1,250 USDC

Ready

To Approved vendor

3 of 5 approved
  • Rules match and required approvals are present.

Contract callLending poolsupply

Outside policy
asset
USDC
amount
1,250 USDC
3 of 5 approved
  • This policy only allows token transfers.

Send 7,500 USDC

Outside policy

To Service provider

5 of 5 approved
  • 7,500 USDC exceeds the 5,000 USDC limit.

Contract callLending poolwithdraw

Outside policy
asset
USDC
amount
7,500 USDC
5 of 5 approved
  • This policy only allows token transfers.

Send 0.5 ETH

Outside policy

To Operating wallet

4 of 5 approved
  • Token: this policy allows USDC.

Contract callDAIapprove

Outside policy
spender
Lending pool
amount
2,500 DAI
4 of 5 approved
  • This policy only allows token transfers.

Move onchain with confidence.

Explore enterprise crypto wallets with programmable policies, mobile approvals, and onchain enforcement.