> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://www.openfort.io/api/mcp` to find what you need.
>
> **Have feedback?** Use `submit_feedback` on the same MCP server.

# Solana Transactions

Look up the status of a sponsored Solana transaction by its internal Openfort id or the externalId you attached when signing it, scoped to your project.

## Get Solana transaction status

`GET /v1/solana/transactions`

Get the status of a Solana transaction by its internal id, the caller-supplied
externalId, or the Jito bundleId (for `signAndSendBundle` transactions).

Exactly one of `id`, `externalId`, or `bundleId` must be provided. Lookups are
scoped to the authenticated project. Note: a bundle resolves only by `bundleId`,
`externalId`, or its first child signature (`id`) — not by a non-first child.

### Query parameters

- `id` `string`: Internal Solana transaction ID (starts with `sol_`).
- `externalId` `string`
- `bundleId` `string`: Jito bundle UUID returned by `signAndSendBundle`.

### Responses

#### `200`: Solana transaction found.

Body (`application/json`):

- `id` `string` _(required)_: Internal Solana transaction ID (starts with `sol_`).
- `externalId` `string | null` _(required)_: Caller-supplied externalId, if one was provided when the transaction was signed.
- `txSignature` `string | null` _(required)_: Base58-encoded Solana transaction signature (a.k.a. transaction hash). Null only for `signTransaction` transactions that were never broadcast.
- `status` `string` _(required)_: Lifecycle status of the transaction: - sent: signed by Kora, awaiting on-chain confirmation - confirmed: confirmed on-chain - expired: blockhash expired or never broadcast - failed: landed on-chain but execution failed (see errorMessage)
- `errorMessage` `string | null` _(required)_: On-chain error message when status is FAILED.
- `bundleId` `string | null` _(required)_: Jito bundle UUID for `signAndSendBundle` transactions; null otherwise. A submission handle — status is resolved via the first child signature.
- `txSignatures` `string[]` _(required)_: All child signatures of a Jito bundle, in order. Empty for single-tx rows. `txSignature` holds the first (representative) child signature. Status lookup by a non-first child signature is not supported (documented limitation).

#### `400`: Exactly one of id, externalId, or bundleId must be provided.

#### `404`: Solana transaction not found.

### Example request

```bash
curl 'https://api.openfort.io/v1/solana/transactions?id=sol_f2b8b5f0-1f5c-4a7e-9b3a-1d2e3f4a5b6c&externalId=my-external-id&bundleId=string'
```

```ts
fetch('https://api.openfort.io/v1/solana/transactions?id=sol_f2b8b5f0-1f5c-4a7e-9b3a-1d2e3f4a5b6c&externalId=my-external-id&bundleId=string')
```
