Permissions supports EVM, Solana, Cosmos, Stellar, and Sui signing routes. The Developer Portal forms cover a subset of policy shapes; use JSON authoring or work with Para for other supported configurations. Select the wallet type and signing route explicitly, and check the policy reference for the facts supported by each request.
Choose a policy type
Permissions separates two different wallet experiences:
Requests always require user consent. Guardrails do not show a consent request because the application owns the wallet.

Configure a Development policy
Start with a Development API key. Policies created for one API key do not affect another key.1
Open Permissions
Select your project and Development API key in the Developer Portal, then open Permissions from the sidebar. Choose Guardrails or Requests based on the wallet ownership model above.
2
Describe the policy
Select Add. For a Request, enter the plain-language text users will see when deciding whether to grant access. Select one or more networks and, if needed, an optional start and end time for the policy.

3
Define the transaction logic
Add the actions the app needs and narrow each action with an available condition. For example, allow native transfers on Ethereum up to a fixed amount, or limit a contract call to a particular function and argument.

4
Review and save a draft
Select Review to inspect the server-normalized policy and any warning about broad access. Select Save Draft only when the summary matches your intent. A draft is inert and does not change signing behavior.

5
Activate and test
Activate the draft when you are ready to use it on the Development key. The first active policy automatically enables Permissions for that key. A policy affects signing only while it is active and within its time window. Test at least one transaction that should match and one that should not before requesting production review.
Actions and conditions
The current Portal flow supports these transaction actions:- Transfer ETH
- Transfer tokens
- Call a contract
- Execute a Safe transaction
- Deploy a contract
The Portal covers common policy shapes. For several conditions on one action, nested logic, other supported wallet types, or multiple rules that work together, use JSON authoring with the CLI or contact Para for assistance.
Selectors and versions
The policy type and complete network selection identify the policy you are editing. Network order does not matter, so Ethereum + Base is the same selector as Base + Ethereum. Base only is a different selector and creates an independent policy. Editing an existing selector creates the next version of that policy. Changes to an active policy replace the active version when saved, while changes to a draft remain in draft. Resolve the current draft by activating or discarding it before creating another draft.Production
Development and Production API keys are independent. Creating a Production key does not copy the Development policy, activate Permissions, or change the Production key’s existing signing behavior. After you have validated the active Development policy:- Create the Production API key.
- Open the Production key and select Request production review. This action appears when Development has an active policy and the Production key is still awaiting permissions setup.
- Para reviews the active Development policy and independently publishes the approved policy for the Production key.
- Verify the published Production policy in the Portal before sending production traffic.
Integration guides
React Requests
Handle consent and transaction review for user-owned wallets on the web.
React Native Requests
Open transaction review URLs from a native application.
REST Guardrails
Restrict signing for app-owned wallets used through the REST API.
Permissions Reference
Explore the full policy JSON language, selectors, conditions, and approval requirements.