# zks_gasPerPubdata

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

POST https://zksync-mainnet.g.alchemy.com/v2/{apiKey}

Returns the current gas price per pubdata byte. This value is used to calculate the L1 data availability cost for transactions on zkSync Era. The pubdata refers to the data that needs to be posted to L1 for data availability.


Reference: https://www.alchemy.com/docs/chains/zksync/zk-sync-api-endpoints/zks-gas-per-pubdata

## Result

**Gas per pubdata** (string): The current gas per pubdata byte value in hexadecimal format.

## Example

### Response

```json
{
  "jsonrpc": "2.0",
  "result": "0x320",
  "id": 1
}
```

## Code Examples

### cURL

```bash
curl --request POST \
  --url https://zksync-mainnet.g.alchemy.com/v2/docs-demo \
  --header 'Content-Type: application/json' \
  --data '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "zks_gasPerPubdata"
}'
```

### JavaScript

```javascript
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({jsonrpc: '2.0', id: 1, method: 'zks_gasPerPubdata'})
};

fetch('https://zksync-mainnet.g.alchemy.com/v2/docs-demo', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://zksync-mainnet.g.alchemy.com/v2/docs-demo"

payload = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "zks_gasPerPubdata"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

### Go

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://zksync-mainnet.g.alchemy.com/v2/docs-demo"

	payload := strings.NewReader("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"zks_gasPerPubdata\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
```

### Java

```java
HttpResponse<String> response = Unirest.post("https://zksync-mainnet.g.alchemy.com/v2/docs-demo")
  .header("Content-Type", "application/json")
  .body("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"zks_gasPerPubdata\"\n}")
  .asString();
```

### C#

```csharp
using RestSharp;


var options = new RestClientOptions("https://zksync-mainnet.g.alchemy.com/v2/docs-demo");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddJsonBody("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"zks_gasPerPubdata\"\n}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

```


## OpenRPC Method Specification

```yaml
name: zks_gasPerPubdata
summary: Retrieves the current gas per pubdata byte
description: |
  Returns the current gas price per pubdata byte. This value is used to calculate the L1 data availability cost for transactions on zkSync Era. The pubdata refers to the data that needs to be posted to L1 for data availability.
params: []
result:
  name: Gas per pubdata
  description: The current gas per pubdata byte value in hexadecimal format.
  schema:
    title: hex encoded unsigned integer
    type: string
    pattern: ^0x([1-9a-f]+[0-9a-f]*|0)$
examples:
  - name: zks_gasPerPubdata example
    params: []
    result:
      name: Gas per pubdata
      value: '0x320'
```
