Permissioned Asset Standard
The Permissioned Asset Standard (PAS) is a framework for creating assets on Sui whose movement and use are subject to programmable approval rules. Unlike freely transferable assets, permissioned assets can only move between parties when a set of conditions defined in a Policy are met. This makes PAS well-suited for regulated financial instruments, compliance-bound tokens, and any use case where asset transfer must be controlled by business or legal rules rather than left open to any holder.
PAS defines three core building blocks that work together to enforce restricted asset movement:
- Account: Represents a participant in the permissioned system. Accounts hold permissioned assets and are subject to the rules defined by the associated Policy.
- Policy: Contains the approval logic that governs how assets move. A Policy specifies what conditions a transfer request must satisfy before the system allows it to proceed.
- Request: Represents a pending action, such as a transfer, that must pass through Policy approval before it completes.
When a holder initiates a transfer, the system creates a Request. That Request moves through the Policy, which evaluates it against the defined approval logic. Only requests that satisfy all conditions are allowed to resolve. Requests that fail are rejected without modifying any asset balances.
How PAS differs from closed-loop tokens
PAS supports a unified account model which leverages address balances, making discoverability almost free. It also uses derived objects for policy and account discovery, and PTB templates for "automated" client-side policy resolution.
What is Permissioned Asset Standard?
Learn how the Permissioned Asset Standard (PAS) enforces restricted asset movement on Sui through Accounts, Policies, and programmable approval logic.
Actions
Learn how to move assets through the Permissioned Asset Standard (PAS) on Sui using Accounts, Requests, and Policies.
Integration
Learn how to integrate with the PAS standard.
Querying Assets
How to read PAS-managed balances for a wallet address using the PAS SDK and standard Sui APIs.