# getBlockProduction

Returns recent block production information from the current or previous epoch.

This method will use `30` [Compute Units](../../about/billing).

***

## **Parameters**

* `object` _optional._ Configuration object containing the following fields:
  * `commitment` string. The level of commitment required for the query. The options include:
    * `finalized` string.&#x20;
      * The node will query the most recent block confirmed by the supermajority of the cluster as having reached maximum lockout, meaning the cluster has recognized this block as finalized.
    * `confirmed` string.
      * The node will query the most recent block that has been voted on by the supermajority of the cluster.
    * `processed` string.
      * The node will query its most recent block. Note that the block may not be complete.
  * `range` array. The slot range to return block production for. If parameter is not provided, the default value is current epoch.
    * `firstSlot` string. The first slot to return block production information for (inclusive).
    * `lastSlot` string. The last slot to return block production information for (inclusive). If the parameter is not provided, the default value is highest slot.
  * `identity` string. The results for this validator identity encoded in base-58.

## Returns

* `result` The custom object with the following fields:
  * `context`. The additional context to retrieve the block production information.
    * `apiVersion`. The API version.
    * `slot`. The slot number to retrieve block production information.
  * `value`. Information about the block production in the specified slot range.
    * `byIdentity`. A dictionary of validator identities, as base-58 encoded strings. Value is a two element array containing the number of leader slots and the number of blocks produced.
    * `range`. The block production slot range.
      * `firstSlot`. The first slot of the block production information (inclusive).
      * `lastSlot`. The last slot of the block production information (inclusive).

<pre class="language-bash"><code class="lang-bash">// Result
{
	"jsonrpc": "2.0",
	"result": {
		"context": {
			"apiVersion": "2.1.11",
			"slot": 319939588
		},
		"value": {
			"byIdentity": {
				"138KHwTqKNWGLoo8fK5i8UxYtwoC5tC8o7M9rY1CDEjT": [
					16,
					16
				],
				...
			},
			"range": {
				"firstSlot": 319680000,
				"lastSlot": 319939588
			}
		}
	},
	"id": 1
}
<strong>
</strong><strong>
</strong></code></pre>

{% tabs %}
{% tab title="mainnet" %}
<pre class="language-bash"><code class="lang-bash"><strong>curl https://mainnet.solana.validationcloud.io/v1/&#x3C;YOUR_API_KEY_HERE> \
</strong>    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","id":1, "method":"getBlockProduction"}'
</code></pre>
{% endtab %}

{% tab title="devnet" %}
```bash
curl https://devnet.solana.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","id":1, "method":"getBlockProduction"}'
```
{% endtab %}
{% endtabs %}
