Transfer approval
Configure the DALP transfer-approval compliance module so an authorised approver must clear every transfer before it executes on chain.
The transfer-approval compliance module requires explicit approval from a configured authority before any regulated transfer executes. Use the module for securities that need transfer-agent oversight, restricted-equity programs where the issuer must clear every sale, or any operating model that requires pre-clearance instead of (or alongside) policy-based eligibility checks.
For the architecture reference, see Transfer approval.
Prerequisites
- The asset already exists (configure during creation) or you have the Asset administrator role on the deployed asset.
- The approver wallets or OnchainIDs are known and the operating team has agreed who holds the approval role.
- A workflow exists for collecting transfer-approval requests off chain and bringing them to the approver (the approver still acts through the platform, but the case-management workflow often runs in the operator's normal compliance tooling).
Configure during asset creation
In the Asset Designer compliance step, pick the transfer-approval module. Configure:
- The approver wallet(s) or OnchainID(s) authorised to grant approvals.
- Any approval expiry window (an approval that goes unused after the window expires).
- Whether self-approval is allowed (typically false for separation of duties).
Configure on an existing asset
From the asset detail workspace, open the compliance tab and update the transfer-approval configuration. Changes apply forward; pending approvals issued under the previous configuration remain valid until they execute or expire.
Operate transfer approvals
The approver workflow runs through the actions queue:
- The holder requests a transfer through the normal transfer flow. The module records a pending approval.
- The approver opens the actions queue, reviews the pending transfer (parties, amount, asset, supporting context), and grants or rejects the approval.
- The granted approval permits exactly one transfer matching the recorded parameters. The holder executes the transfer within the approval window.
See Actions work queue for the approver workflow.
Operating considerations
- The module requires approval for every regulated transfer. Mints and burns are not regulated transfers under this module (they go through the supply-management role instead).
- Approval is per transfer instance, not per holder pair. A repeat transfer between the same holders requires a fresh approval.
- Approvals do not bypass other compliance modules. A transfer approved by the transfer-approval module still must pass identity verification, country restrictions, and any other configured module.
- Pending approvals carry an audit trail; rejected approvals also record the rejecting wallet and timestamp.
What stays external
The off-chain case-management workflow (ticket tracking, approver communication, supporting-document collection) and the policy that defines what an approver should consider before granting approval stay with your operating team.
Troubleshooting
| What you see | What to check |
|---|---|
| Transfer rejected as awaiting approval | The approver has not yet granted approval. Open the actions queue and process the request. |
| Approval granted but transfer still fails | Confirm other configured compliance modules (identity, country, allow-list) also pass. The approval covers only the transfer-approval module. |
| Approval expired unused | Approvals expire after the configured window. Issue a fresh approval and have the holder retry. |
Read next
- Compliance overview
- Transfer approval architecture
- Actions work queue for the approver workflow.