Permissions supports EVM, Solana, Cosmos, Stellar, and Sui wallets. The Developer Portal forms cover a subset of policy shapes; use JSON authoring or work with Para for other supported configurations. Each policy selects one wallet type and can narrow it to specific networks, and each rule names the actions it governs. Check the policy reference for the facts supported by each request.
User consent
When standalone consent has not already been granted, the first transaction that could use an active Request opens the transaction-review flow if the user has not chosen how the app may use that Request. Para shows the description configured in the Developer Portal and asks whether the user wants to grant standing access or keep manual review. The user still reviews the current transaction. Standing access begins only after that transaction is approved and applies to future matching transactions. Para provides the consent screen.Configure transaction review
Web applications can open a review popup directly. React Native does not have a browser popup API, so configure how the SDK should open Para’s review URL.Global handler
Set a global handler when you initialize Para. This covers direct signing calls and library integrations that do not pass a callback for each operation.para.ts
expo-web-browser, react-native-inappbrowser, or a custom WebView to open the URL.
Per-call callback
PassonTransactionReviewUrl to a signing call when one operation needs different review handling. A per-call callback takes precedence over the global handler.
Open standalone permissions flows
UsegetPolicyConsentUrl({ walletId, policyId }) or getApprovalCaseReviewUrl({ caseId }) and open the returned URL with your application’s browser integration. These methods return URLs; they do not open a native browser automatically. Para authenticates the user in the hosted flow.
Consent and adjustable limits
Follow the shared lifecycle, then use your native browser handling for Portal URLs.
Runtime flow
- Your app submits a transaction through Para or a supported signer integration.
- Para checks the transaction against the active Request and the user’s grant.
- A matching transaction signs without another prompt when standing access is current and no applicable rule denies it or requires approval.
- A transaction without standing permission returns a pending transaction and review URL.
- Your configured handler opens that URL. If an active Request could cover the transaction and the user has not made a choice, Para asks about standing access before showing the current transaction review.
- The SDK waits for approval or denial, then returns the signature or throws the corresponding review error.
Handle denial and timeout
code: 'POLICY_DENIED' and status: 403, and data.deniedBy can identify the policy and rule.
Replacing or deactivating the policy that required an approval invalidates the approval if it has not completed. An invalidated approval cannot complete; submit the request again under the current policy.
Development and Production
Activating a Development Request affects only that API key. Para reviews the tested Development policy and independently publishes the approved policy for the Production key. Production policy management is read-only in the Developer Portal.Permissions setup
Configure, activate, test, and promote the Request.
Permissions reference
Review selectors, actions, conditions, and generated JSON.
Sign transactions
Sign transactions with the Para React Native SDK.