Import
These types are exported by @getpara/rest-sdk.
Request initiator
Ordinary signing requests take an optionalinitiatorUserId, defined by RestSigningInitiator. Managed autoRetry requests do not accept an initiator. Set it to the Para user ID of the linked user who asked for the signature. That user cannot approve or reject the request’s approval case. An ID that is not a UUID, or a user with no wallet connected to your app, fails with 400 INVALID_REQUEST and the message user is not linked to this app.
Review ID
Ordinary signing requests also take an optionalreviewId. Managed autoRetry calls require current policy allow without a transaction-bound approval and do not accept reviewId. After your backend approves an ordinary review, you can add its reviewId when you resend the identical request with the same Idempotency-Key. Para still checks that the request and the active policy match the review.
Each ordinary signing and transfer request type extends RestSigningRequestContext, which adds reviewId to RestSigningInitiator.
Raw messages and EVM messages
signRaw takes data and an optional encoding, while signMessage takes a message. Both return a signature.
Transactions and typed data
When you sign EIP-712 typed data through the viem v2 or ethers v6 integration or the wagmi connector, the Para SDK sends the typed data with its hash. Para checks that the two match and evaluates the request assign_typed_data, the same as the REST API’s sign-typed-data route, so request.typedData.primaryType, request.approvalLike and the chain ID from the typed data’s domain apply. Para evaluates these SDK requests as sign_message, with no chain ID: EIP-7702 authorizations, typed data signed through the viem v1 or ethers v5 integration, and a typed data hash that your code signs with signMessage. The sign_authorization action and its facts apply only to the REST API’s sign-authorization route, which the REST SDK calls.
accessList belongs to EvmAutoRetrySignTransactionRequest; ordinary signing does not preserve access lists.
For signTransactionWithAutoRetry, pass options.idempotencyKey and persist the complete request before submitting. The original deadline must be in the next 24 hours and is never renewed by replay. Read status, autoRetry.state, attempts and monitoring.winningHash through getRestTransaction. See Automatic fee retry for supported shapes and the transaction lookup fields.