Skip to main content

Prerequisites

To use Para, you need an API key. This key authenticates your requests to Para services and is essential for integration.
Don’t have an API key yet? Request access to the to create API keys, manage billing, teams, and more.

Environments

All endpoints are versioned under /v1.

Authentication

Include your API key in every request:
Never expose your API key in client-side code. Use it only from your backend.
TypeScript backends can use @getpara/rest-sdk instead of hand-written REST calls. It handles X-API-Key, X-Request-Id, optional Idempotency-Key, abort signals, validation errors, serialization errors, and HTTP error mapping.
Your project controls wallet access. Wallets created via the REST API are permanently scoped to the project that created them. Rotating your secret key is safe because the new key still accesses the same wallets. If you delete your project or create a new one, you lose signing access to those wallets even though the wallets and funds remain on-chain.If you need to migrate wallets between projects, contact Para support.

IP Allowlisting

Restrict API access to specific IPs via the Developer Portal (Security → Allowlist). Once configured, requests from other IPs return 401 Unauthorized.

Error Handling

All errors return JSON with a code field for programmatic handling and a human-readable message. Some include extra context (e.g. walletId on 409):

Handling 409 Conflict (Duplicate Wallet)

When creating a wallet that already exists, the API returns 409 Conflict with the existing walletId in the response body:
If you need to look up wallets by other means, you can also:
1

Look up by identifier

Query wallets by the original identifier:
2

List all wallets

As a final fallback, list all wallets and filter client-side:

Rate Limits

REST API limits are shared across every /v1 request made with the same API key. Wallet creation, reads, and signing all count toward one total per-minute allowance, not a separate allowance for each endpoint. Calls made through @getpara/rest-sdk use these REST endpoints and count toward the same limit. When the REST API limit is exceeded, the API returns 429 Too Many Requests with a Retry-After header indicating how long to wait.
Wallet creation through SDK user flows is subject to per-IP abuse-prevention limits. After a user-owned wallet is created, signing it through a Para SDK is not rate-limited by subscription plan.
Need higher REST limits? Scale and Enterprise customers can request custom rate limits. Contact the Para team to discuss your use case.

Signing

All five wallet types use the same sign-message route, while transaction inputs and supported operations differ by wallet type. See Sign Messages by Wallet Type for message examples and Transaction Signing by Wallet Type for transaction inputs and outputs. The Endpoints section in the REST API navigation contains the complete request and response schemas.

Timeouts

Recommended client timeouts: