Skip to main content
Permissions Requests let a user grant your application standing permission to perform specific transactions with a user-owned wallet. Matching transactions can sign without another prompt after consent when no other applicable policy denies them or requires approval. Transactions without standing permission require manual review, subject to the remaining policy decision.
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.
Configure and activate the Request for a Development API key before integrating the review flow. Follow the Developer Portal walkthrough for setup and Permissions Reference for available actions and conditions. To start from a common Request, see Request templates. 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
You can use expo-web-browser, react-native-inappbrowser, or a custom WebView to open the URL.

Per-call callback

Pass onTransactionReviewUrl 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

Use getPolicyConsentUrl({ 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

  1. Your app submits a transaction through Para or a supported signer integration.
  2. Para checks the transaction against the active Request and the user’s grant.
  3. A matching transaction signs without another prompt when standing access is current and no applicable rule denies it or requires approval.
  4. A transaction without standing permission returns a pending transaction and review URL.
  5. 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.
  6. The SDK waits for approval or denial, then returns the signature or throws the corresponding review error.

Handle denial and timeout

When a rule denies the transaction outright, the signing call throws without opening review. The error has 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.
Test one transaction that matches the Request and one that opens manual review. If a native app does not configure either review handler, the user cannot complete an out-of-policy transaction from the app.

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.