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

# Transactions

> TransactionsAPI — Submit and track transactions

## TransactionsAPI

Access via `client.transactions`.

### submitHash

Submit transaction hash after external broadcast.

```typescript theme={null}
async submitHash(request: SubmitHashRequest): Promise<TransactionStatusResponse>
```

```typescript theme={null}
interface SubmitHashRequest {
  operationId: number;
  txHash: string;
  /** Transaction ID for multi-transaction operations (e.g., EVM approve + supply) */
  transactionId?: number;
}
```

### submitSigned

Submit signed transaction for RebelFi to broadcast.

```typescript theme={null}
async submitSigned(request: SubmitSignedRequest): Promise<TransactionStatusResponse>
```

```typescript theme={null}
interface SubmitSignedRequest {
  operationId: number;
  signedTransaction: string;
  txHash?: string;
}
```

### get

Get transaction status.

```typescript theme={null}
async get(id: number): Promise<TransactionStatusResponse>
```

### recover

Recover a transaction that was broadcast but not submitted to RebelFi.

```typescript theme={null}
async recover(operationId: number, request: RecoverTransactionRequest): Promise<RecoverTransactionResponse>
```

```typescript theme={null}
interface RecoverTransactionRequest {
  txHash: string;
  transactionId?: number;
}

interface RecoverTransactionResponse {
  success: boolean;
  transactionId: number;
  txHash: string;
}
```

### TransactionStatusResponse

```typescript theme={null}
interface TransactionStatusResponse {
  id: number;
  operationId: number;
  status: 'UNSIGNED' | 'PENDING' | 'CONFIRMED' | 'FAILED';
  txHash?: string;
  confirmations?: number;
  blockNumber?: number;
  error?: string;
}
```
