> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getpara.com/llms.txt
> Use this file to discover all available pages before exploring further.

# signTransactionWithAutoRetry

> Admits one broadcast transaction for automatic fee retry.

Broadcast one EVM transaction or supported legacy Solana transaction and let Para manage further fee attempts within your fee ceiling and deadline. The wallet pays the fees. See [Automatic fee retry](https://docs.getpara.com/v3/rest/automatic-retry.md#recover-a-contract-call-or-caller-built-transaction) for the supported transaction shapes.

## Import

Call this method on a server-side ParaRestClient.

```ts theme={null}
import { ParaRestClient } from "@getpara/rest-sdk";
```

All REST methods can throw ParaRestError for non-success HTTP responses and ParaRestValidationError for invalid local arguments. Use ParaRestCallOptions for idempotency and cancellation.

async

Admits one broadcast transaction for automatic fee retry.

Copy method signature

### Returns

[`Promise<AutoRetrySignTransactionResponse>`](https://docs.getpara.com/v3/references/types/rest/signing#transactions-and-typed-data)

The transaction record from the 202 response, with transactionId, status, and autoRetry. It contains no signed bytes.

## Request rules

The SDK throws ParaRestValidationError before it sends the request when `walletId`, `transaction`, `autoRetry`, or `options.idempotencyKey` is missing, or when `broadcast` is not `true`.

Save the complete body and the idempotency key before the first call. After a timeout, send both again unchanged. A replay returns the existing operation, even after its deadline, and never extends the deadline or the fee ceiling. Poll [`getRestTransaction`](https://docs.getpara.com/v3/references/rest/transactions/get-rest-transaction) with the returned `transactionId`.

The request does not accept `reviewId`, `initiatorUserId`, or sponsorship fields. Current policies must allow every attempt.

## Errors

| Error | Cause |
| - | - |
| `400 INVALID_REQUEST` | An unsupported transaction shape or field, a deadline outside the next 24 hours, a wallet that is not EVM or Solana, or an initial transaction that fails simulation, exceeds the fee ceiling, or exceeds the wallet balance. Also an `options.idempotencyKey` that is longer than 256 characters or has a space or another character outside printable ASCII. |
| `403` | The wallet is claimed or not API-created, or the secret key is no longer valid. |
| `404` | The wallet is not found. |
| `409 IDEMPOTENCY_CONFLICT` | The key identifies a different request or route. |
| `409 WALLET_TRANSACTION_UNRESOLVED` | Another operation on the same wallet and chain is unresolved. |
| `409` | The wallet is not ready for signing. |
| `503 RPC_UNAVAILABLE` or `503 RECOVERY_UNAVAILABLE` | Para could not read the chain or save the idempotency key. Send the same body and key again. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.