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

# blockSubscribe on Solana

> Call blockSubscribe on Solana via GoldRush JSON-RPC. Subscribes to receive notification when a new block is confirmed. Endpoint, parameters, return values, and code examples.

<Card title="0.01 credits per call" icon="coins" />

`blockSubscribe` on **Solana**: Subscribes to receive notification when a new block is confirmed.

## Endpoint

```
wss://rpc.goldrushdata.com/v1/solana-mainnet
```

`blockSubscribe` is a **WebSocket** subscription method.

Authenticate with `Authorization: Bearer <GOLDRUSH_API_KEY>`. See [authentication](/goldrush-json-rpc/authentication).

## Parameters

| Name     | Type               | Required | Description                                                                                     | Example                                                                                                                                |
| -------- | ------------------ | -------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `filter` | `string \| object` | yes      | `"all"` or `{mentionsAccountOrProgram: <base-58 address>}`.                                     | `"all"`                                                                                                                                |
| `config` | `object`           | no       | `{commitment?, encoding?, transactionDetails?, showRewards?, maxSupportedTransactionVersion?}`. | `{"commitment":"confirmed","encoding":"jsonParsed","maxSupportedTransactionVersion":0,"transactionDetails":"full","showRewards":true}` |

## Returns

`number`: Subscription id (used with `blockUnsubscribe`). Notifications arrive as `blockNotification` messages.

```json theme={null}
0
```

## Examples

<CodeGroup>
  ```bash wscat theme={null}
  # Connect (header auth works from Node/CLI clients):
  wscat -c "wss://rpc.goldrushdata.com/v1/solana-mainnet" \
    -H "Authorization: Bearer $GOLDRUSH_API_KEY"

  # Once connected, send:
  {"jsonrpc":"2.0","id":1,"method":"blockSubscribe","params":["all", {"commitment":"confirmed","encoding":"jsonParsed","maxSupportedTransactionVersion":0,"transactionDetails":"full","showRewards":true}]}
  ```

  ```typescript @solana/kit theme={null}
  import { createSolanaRpcSubscriptions } from "@solana/kit";

  // Authenticate with the Authorization: Bearer header on the WS handshake.
  // See /goldrush-json-rpc/authentication.
  const rpcSubscriptions = createSolanaRpcSubscriptions("wss://rpc.goldrushdata.com/v1/solana-mainnet");

  const abortController = new AbortController();
  const notifications = await rpcSubscriptions
    .blockSubscribe("all", {"commitment":"confirmed","encoding":"jsonParsed","maxSupportedTransactionVersion":0,"transactionDetails":"full","showRewards":true})
    .subscribe({ abortSignal: abortController.signal });

  for await (const notification of notifications) {
    console.log(notification);
  }
  ```
</CodeGroup>

## Errors

Standard JSON-RPC errors: `-32600` invalid request, `-32601` method not found, `-32602` invalid params.

## Related Subscriptions methods on Solana

* [`accountSubscribe` on Solana](/api-reference/json-rpc/solana/accountsubscribe)
* [`accountUnsubscribe` on Solana](/api-reference/json-rpc/solana/accountunsubscribe)
* [`logsSubscribe` on Solana](/api-reference/json-rpc/solana/logssubscribe)
* [`logsUnsubscribe` on Solana](/api-reference/json-rpc/solana/logsunsubscribe)
* [`programSubscribe` on Solana](/api-reference/json-rpc/solana/programsubscribe)
