Authentication
para login
Authenticate with your Para developer account. Opens your browser for a secure OAuth flow with PKCE verification.
After login, the CLI automatically selects your first organization and project if none are configured.
Sessions are stored at
~/.config/para/credentials.json with 0600 file permissions. The session is validated server-side on each CLI invocation.
Sessions are shared across key environments — logging in once gives you access to both beta and prod keys.
para logout
Clear stored authentication credentials.
The CLI sends a best-effort server-side session invalidation.
para auth status
Check whether your current session is valid. This performs a server-side validation, not just a local check.
Output
--json:
para whoami
Show the current authenticated user and active context — organization, project, and environment.
Output
Configuration
Configuration resolves from multiple sources: CLI flags, environment variables (PARA_ENVIRONMENT, PARA_ORG_ID, PARA_PROJECT_ID), .pararc, global config, then defaults. See Installation for the full resolution chain.
para config get
Read configuration values. Without a key, shows all values from both global and project config with their source.
Output
.pararc) takes precedence over global config (~/.config/para/config.json).
para config set
Set a configuration value.
Valid Keys
Examples
para config set --local writes the key name as-is (e.g., defaultEnvironment) into .pararc, but para init uses different key names (environment, organizationId, projectId). Use para init to create project-level config — it ensures the correct key names are used.para config unset
Remove a configuration value.
para init
Create a .pararc configuration file in the current directory. This pins the organization, project, and environment for anyone working in this directory.
In interactive mode, you’ll be prompted to select a key environment (
beta or prod). In non-interactive mode (--no-input), the current key environment from global config is used.
The resulting .pararc file:
Organizations
para orgs list
List all organizations you belong to.
Output
(active) indicator shows which organization is currently selected. With --json, returns an array of organization objects.
para orgs switch
Set the active organization. This updates your global config so subsequent commands use this org.
org-id, an interactive selector is shown:
Output
After switching organizations, your previous project ID remains in the config but may point to a project in the old org. Run
para projects switch to select a project in the new organization.Projects
All project commands require an active organization. Set one withpara orgs switch if you haven’t already.
para projects list
List projects in your active organization.
Output
para projects switch
Set the active project.
project-id, an interactive selector shows all active projects in the current organization.
para projects create
Create a new project in the active organization.
Without flags, you’ll be prompted interactively for a name.
para projects update
Update a project’s name, description, or framework.
Uses the active project if no
project-id is given. Without flags, prompts interactively.
para projects archive
Archive a project. Its API keys stop working immediately. This is reversible with restore.
project-id is given.
para projects restore
Restore a previously archived project.
para projects list --include-archived to find the ID of archived projects.
API Keys
All key commands require an active organization and project. Set them withpara orgs switch and para projects switch.
para keys list
List API keys for the active project.
Output
para keys get
Get details of an API key. Without a key ID, the CLI auto-resolves the key from your active project and key environment.
para keys create
Create a new API key in the active project.
para keys rotate
Rotate an API key. The old key stops working immediately. Without a key ID, the CLI auto-resolves the key from your active project and key environment.
Key rotation is irreversible. The old key stops working immediately after rotation.
para keys archive
Archive (revoke) an API key. The key stops working immediately. Without a key ID, the CLI auto-resolves the key from your active project and key environment.
para keys config
Configure settings for an API key. Without a sub-category, opens an interactive menu to browse all categories.
-e beta or -e prod). If multiple keys exist for the same environment, you’ll be prompted to choose one.
Show Configuration
View the current configuration for an API key without entering an edit flow. Shows all settings organized by category.Example output
Security
Configure auth methods, origins, session length, and IP restrictions.Branding
Configure colors, fonts, social links, and email settings.Setup / Networks
Configure wallet types and native passkey settings.On/Off Ramps
Configure buy, receive, and withdraw settings.Webhooks
Configure webhook endpoints, events, and signing secrets.Scaffold a Project
para create
Scaffold a new application with Para SDK pre-configured. The interactive wizard walks you through template, network, auth, and wallet selection.
Interactive Flow
Without flags,para create walks you through each step:
- App name — lowercase, numbers, and hyphens only
- Template — Next.js or Expo
- Networks — EVM, Solana, Cosmos, Stellar (Expo is EVM-only)
- Auth methods — Email, Phone/SMS, OAuth
- OAuth providers — Google, Apple, Twitter, Discord, Facebook, Farcaster (Expo supports Google and Apple only)
- External wallets — Varies by network:
- EVM: MetaMask, Coinbase, WalletConnect, Rainbow, Zerion, Rabby
- Solana: Phantom, Backpack, Solflare, Glow
- Cosmos: Keplr, Leap
- Expo-specific — Bundle identifier (e.g.,
com.mycompany.myapp)
Non-Interactive Mode
Non-interactive mode activates when an app name is provided along with--networks (for Next.js) or --bundle-id (for Expo). Email auth is enabled by default if no other auth method is specified.
API Key Connection
If you’re authenticated, the CLI offers to connect a Para project after scaffolding. This creates or selects an organization, project, and API key, then writes the key to the app’s.env file.
Package Manager Detection
The CLI detects your package manager automatically:--package-managerflag (highest priority)- How you invoked the CLI (
npx,yarn dlx,pnpm dlx,bunx) - Lock files in the current directory
- Falls back to
npm
Example
Diagnostics
para doctor
Scan your project for common Para SDK integration issues. Checks configuration, dependencies, setup patterns, and best practices.
What It Checks
Example Output
Filtering
Run only dependency checks:JSON Output
Use--json for CI/CD pipelines:
1 if any error-severity checks fail, making it suitable for CI gates.