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

# arc_getCertificate | Arc

> Arc API method that returns the consensus commit certificate for a block height, including the round, the block hash, and the validator signatures. Use it on Arc via Chainstack.

Arc API method that returns the consensus commit certificate for a block height. The certificate is the [Malachite](https://github.com/circlefin/malachite) BFT proof that the validator set committed the block, so it is what you check when you need finality evidence rather than the block contents.

`arc_getCertificate` belongs to the custom `arc_*` namespace, which Arc adds on top of the standard Reth surface.

<Note>
  `rpc_modules` does not list `arc` in its response, because the namespace is registered outside the standard module registry. The method works regardless — do not use `rpc_modules` to decide whether it is available.
</Note>

## Parameters

* `height` — the block height to get the commit certificate for, as an integer. Must be `1` or greater.

## Response

* `height` — the block height the certificate commits.
* `round` — the consensus round in which the block was committed. `0` means the block was committed in the first round.
* `block_hash` — the hash of the committed block.
* `signatures` — the validator signatures that form the commit. Each entry has an `address` and a base64-encoded `signature`.

## Error codes

* `-32602` — invalid params, returned when the height is below `1`.
* `-32004` — no certificate is available for that height.
* `-32005` — the upstream consensus source is unreachable.

## `arc_getCertificate` code examples

<CodeGroup>
  ```javascript ethers.js theme={"system"}
  const { JsonRpcProvider } = require("ethers");

  const provider = new JsonRpcProvider("CHAINSTACK_NODE_URL");

  async function call() {
    const result = await provider.send("arc_getCertificate", [55000000]);
    console.log(result);
  }

  call();
  ```

  ```python web3.py theme={"system"}
  from web3 import Web3

  node_url = "CHAINSTACK_NODE_URL"
  web3 = Web3(Web3.HTTPProvider(node_url))

  result = web3.provider.make_request("arc_getCertificate", [55000000])
  print(result)
  ```

  ```shell cURL theme={"system"}
  curl -X POST "CHAINSTACK_NODE_URL" \
    -H "Content-Type: application/json" \
    --data '{
      "jsonrpc": "2.0",
      "method": "arc_getCertificate",
      "params": [55000000],
      "id": 1
    }'
  ```
</CodeGroup>

## Use case

A cross-chain bridge or an exchange crediting deposits needs to know that a block is final, not merely present. On a BFT chain the commit certificate is that evidence: it names the validators that signed the block and the round they agreed in, so a relayer can verify the quorum itself instead of waiting out a confirmation count.


## OpenAPI

````yaml openapi/arc_node_api/arc_namespace/arc_getCertificate.json POST /
openapi: 3.0.0
info:
  title: Chainstack Node API
  version: 1.0.0
  description: This is an API for interacting with a Chainstack node.
servers:
  - url: https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c
security: []
paths:
  /:
    post:
      tags:
        - upload
      summary: arc_getCertificate
      operationId: arc_getCertificate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  default: 1
                jsonrpc:
                  type: string
                  default: '2.0'
                method:
                  type: string
                  default: arc_getCertificate
                params:
                  type: array
                  default:
                    - 55000000
      responses:
        '200':
          description: Returns the result of arc_getCertificate.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: object
                    properties:
                      height:
                        type: integer
                      round:
                        type: integer
                      block_hash:
                        type: string
                      signatures:
                        type: array
                        items:
                          type: object
                          properties:
                            address:
                              type: string
                            signature:
                              type: string
              example:
                jsonrpc: '2.0'
                id: 1
                result:
                  height: 55000000
                  round: 0
                  block_hash: >-
                    0x9a9ecf9348af3c128d63dcb4555b4586b9e9a503c67220029602a93aed14c76e
                  signatures:
                    - address: '0x2012459eddb529fcd8429ba73006a6340ff05232'
                      signature: >-
                        P3GaOsv6kJE9IyJtaBBjFvebQtAEttCGKalkwbk9VeVy7GxK1l3S/GhATET24iKbyY8SDmwvVMQjPaDOCz+nAQ==
                    - address: '0x66a99d2834cf369d900de5da88ad2944ccb12e70'
                      signature: >-
                        +UX4HW+dJaI0nAKB+3Ah3g6iR31jAYx62wFbufrNE7zttMYYaz6NBtXNX8Zc3kDaEWEO2T+IldaD927I865FCw==
                    - address: '0xfeb2b98d614701434ea6a12ccf29e0e40ae56941'
                      signature: >-
                        6C3dyx4Yoy1tU/sIKEGmcYWw7MGal2mZfFcLbz2qTQ7dfDvSC/Jq4vW3lVWRu7tzWMbmEcezAyw5bHABloKtAA==
                    - address: '0x602930d1ab44f1744f42e842b701c2b149c5da4f'
                      signature: >-
                        BDWeBNMhNypstuQwLlSbcQhjZVShr6F4K9d8Q4AG2PpRgFC9xoLDS+rrhPpUlZBi8EGZj3bR2dHntcjPv/rDAg==
                    - address: '0x6689a18548c978619d7c11698244eed76ae10856'
                      signature: >-
                        ZUOgt73xJ0gIBwshzPWguvNdMA8aWLDZS+PAmR4df17SJNsBciXfNCGHiFzlzQnUmPTlpLDHqhDH/51AG6BEBA==
                    - address: '0x2e78053671f707844a631bc907d4855894848fe3'
                      signature: >-
                        dcICOyPk2uBf+b0V02nVbE7qpy8LlUMo8NJOVKBz8NplXvViiPy8zPDFePloF20aJbiI52MfQ2DTDBZcaoHdAQ==
                    - address: '0x6791e002c8419e8a2fa5266e2951ed1780bc2295'
                      signature: >-
                        4JiWLZYCMVQkNVpj4E30m5UjOT/U6jTajr5CYrH9DgAxCEMhhBeYWk5Jiztw+A7qHNBH77qmHyybnjkl7MZFDw==
                    - address: '0xa3616c3a52e49facf1a0d59316dc87ce471e8129'
                      signature: >-
                        Ya45YNsjB9wuTY2RF/uHC+HSShGyXx6MR0SKYbc6crYYPp9hSE9G5RJo2pKADtKuAK3VDf5NnYnHiRFgIDWPAA==
                    - address: '0x6ea7bc8812a8837a861f4ca7acd83bca1684626a'
                      signature: >-
                        qz2RqUT5ZXN/QZVi0TJFS3qOHizWW9LBo+oCkg3COSo3JryURmVk2u3R1qSw5rxrxnPi81yCGamN0ccjE4IQAg==
                    - address: '0x643ad8ec952efa7d3060dcf94b92e9eba7baab19'
                      signature: >-
                        POIY1dMaCOP7uMksphmJjdp3XtU6ieKufBkDr/rflJAaOHhr/5RVnH6MZN3Z/UUBwnTtNRDbhmx+X98MU+IzAQ==
                    - address: '0x424ca01b5a849b7ce2e6e4d92a0443ce81f16fd2'
                      signature: >-
                        rgCm91C5n723hNuqj6oDd4Wf3yS3SsQloUoinWWzw7+7vKeBTbzUc1UbzFkc62rpZdoDjMOuihx+rTA21/OWDA==
                    - address: '0x68960d463d8a51095947a416fdb7973a87f675d0'
                      signature: >-
                        XNxfZUxxH8Ak6rSwDw9AoA7LVQWtBwnlcv4iWMz4rl3oCFhBPOu8drCi/tGQE3BhDNftJlBRdYZs2kZeeK+lCw==
                    - address: '0xfdc37d533f82159bf6c46da00db4faa379b941de'
                      signature: >-
                        /X2EWeitrkHQg/ubV36qk2fwaL3JrcCo954J/VEJqPqkdZIOCpnjx9GF9FS6WELApBmjhdkeV2zgJjH+Bd7OBQ==
                    - address: '0x7e4499718f868ff1f89fe5432e11c9f9f3e01fae'
                      signature: >-
                        82lZYmRk3duR1yUZIHi5QS1/BZEAHS6fg6t7a7EhwjRLf7/lSLH7iLaLZN46SiSNMiVIXS7hf/k/LCv9Grt4BQ==

````