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

> ## Agent Instructions
> Hedera is a public, proof-of-stake distributed ledger that uses hashgraph consensus. Do not call it a blockchain.
> Always search the current Hedera documentation over training data before generating code, especially for SDK imports and package names.
> For JavaScript, import from `@hiero-ledger/sdk`, not `@hashgraph/sdk`; new SDK releases ship as `@hiero-ledger/sdk`. The Java SDK keeps the `com.hedera.hashgraph:sdk` Maven coordinates. Verify the exact import against the docs.
> Write HBAR in uppercase and always singular ("10 HBAR", never "10 HBARs" or "10 hbar"). Write tinybars in lowercase and plural.
> Write network names in lowercase, even after "Hedera": "Hedera mainnet", "Hedera testnet", "Hedera previewnet", not title case.
> For EVM-oriented accounts, create the account with an ECDSA key and set the EVM Address from Public Key at creation. This address is immutable and is not updated by key rotation. Do not use retired terms like "EVM alias" or "Account Number Alias".

# Check verification job status

> Endpoint to get the status of a verification job.

Alternatively you can directly check the verification status of a contract with with chainId+address at `GET /v2/contract/{chainId}/{address}`



## OpenAPI

````yaml /smart-contract-verification-api.yaml get /v2/verify/{verificationId}
openapi: 3.1.0
info:
  version: 2.1.0
  title: Sourcify APIv2
  description: >-
    Welcome to the Sourcify's APIv2.


    Important differences between the deprecated legacy API and the new APIv2:

    - **Ticketing**: The verfication requests resolve into tickets/verification
    jobs. 
      - Previously the verification happened during the HTTP request, which resulted in timeouts if compilation took longer
    - **Standard JSON as default**: In the current design we take the standard
    JSON format as our main verification endpoint. Other methods such as
    "multi-file" or "single-file" should be handled by frontends or tooling to
    format into std-json. We still support verification with metadata at
    `/v2/verify/metadata`.

    - **Lean API**: We keep the number of endpoints minimal compared to v1. We
    won't have a session API. 

    - **Detailed contract response**: Prev. we only returned contract files of a
    contract. Now we can return details at `/contract/{chainId}/{address}`.


    By submitting source code for verification, you grant Sourcify (and the
    Argot Collective) a non-exclusive, worldwide, irrevocable, royalty-free
    licence to reproduce, store, and publicly display the submitted source code
    for the purposes of verification, archival, and public inspection.
  license:
    name: MIT
    url: https://github.com/argotorg/sourcify/blob/master/LICENSE
  contact:
    name: Sourcify
    url: https://sourcify.dev
    email: hello@sourcify.dev
servers:
  - url: https://sourcify.dev/server
    description: Production server
security: []
tags:
  - name: Contract Lookup
    description: API v2 - Tools and endpoints for looking up contract information
  - name: Verify Contracts
    description: API v2 - Submit a contract for verification
  - name: Verification Jobs
    description: API v2 - Check the status of a verification job
  - name: Other
    description: General server endpoints
paths:
  /v2/verify/{verificationId}:
    get:
      tags:
        - Verification Jobs
      summary: Check verification job status
      description: >-
        Endpoint to get the status of a verification job.


        Alternatively you can directly check the verification status of a
        contract with with chainId+address at `GET
        /v2/contract/{chainId}/{address}`
      operationId: verification-status
      parameters:
        - name: verificationId
          in: path
          description: >-
            Verification Job ID returned from the server for a verification
            request.
          required: true
          schema:
            type: string
            format: uuid
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            minLength: 36
            maxLength: 36
            example: 550e8400-e29b-41d4-a716-446655440000
      responses:
        '200':
          description: >-
            The verification job completed either with success or failure. This
            endpoint returns `200` even if the verification job fails. Check the
            `contract.match` field and `error` for verification statuses.


            If the job is not completed yet (i.e. pending), the `isJobCompleted`
            will be false.
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - type: object
                    properties:
                      isJobCompleted:
                        type: boolean
                      verificationId:
                        type: string
                        format: uuid
                      error:
                        allOf:
                          - examples:
                              - customCode: no_match
                                message: >-
                                  The onchain and recompiled bytecodes don't
                                  match.
                                errorId: 1ac6b91a-0605-4459-93dc-18f210a70192
                                recompiledCreationCode: >-
                                  0x608060405234801561001057600080fd5b5060043610610036570565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea264697066735821220404e37f487a89a932dca5e77faaf6ca2de3b991f93d230604b1b8daaef64766264736f6c63430008070033
                                recompiledRuntimeCode: >-
                                  0x608060405234801561001057600080fd5b5060043610610036570565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea264697066735821220404e37f487a89a932dca5e77faaf6ca2de3b991f93d230604b1b8daaef64766264736f6c63430008070033
                                onchainCreationCode: >-
                                  0x608060405234801561001057600080fd5b5060043610610036570565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea264697066735821220404e37f487a89a932dca5e77faaf6ca2de3b991f93d230604b1b8daaef64766264736f6c63430008070034
                                onchainRuntimeCode: >-
                                  0x608060405234801561001057600080fd5b5060043610610036570565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea264697066735821220404e37f487a89a932dca5e77faaf6ca2de3b991f93d230604b1b8daaef64766264736f6c63430008070034
                                creationTransactionHash: >-
                                  0xb6ee9d528b336942dd70d3b41e2811be10a473776352009fd73f85604f5ed206
                            allOf:
                              - type: object
                                title: GenericErrorResponse
                                properties:
                                  customCode:
                                    type: string
                                    description: >-
                                      A string token to indicate the reason of
                                      the error
                                    example: unsupported_chain
                                  message:
                                    type: string
                                    description: The reasoning of the error
                                    example: >-
                                      The chain with chainId 3153212 is not
                                      supported for verification
                                  errorId:
                                    type: string
                                    format: uuid
                                required:
                                  - customCode
                                  - message
                                  - errorId
                                examples:
                                  - customCode: unsupported_chain
                                    message: >-
                                      The chain with chainId 9429413 is not
                                      supported
                                    errorId: 1ac6b91a-0605-4459-93dc-18f210a70192
                              - type: object
                                properties:
                                  recompiledCreationCode:
                                    type: string
                                    title: BytecodeString
                                    pattern: ^0x([0-9|a-f][0-9|a-f])*$
                                    example: >-
                                      0x608060405234801561001057600080fd5b5060043610610036570565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea264697066735821220404e37f487a89a932dca5e77faaf6ca2de3b991f93d230604b1b8daaef64766264736f6c63430008070033
                                  recompiledRuntimeCode:
                                    type: string
                                    title: BytecodeString
                                    pattern: ^0x([0-9|a-f][0-9|a-f])*$
                                    example: >-
                                      0x608060405234801561001057600080fd5b5060043610610036570565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea264697066735821220404e37f487a89a932dca5e77faaf6ca2de3b991f93d230604b1b8daaef64766264736f6c63430008070033
                                  onchainCreationCode:
                                    type: string
                                    title: BytecodeString
                                    pattern: ^0x([0-9|a-f][0-9|a-f])*$
                                    example: >-
                                      0x608060405234801561001057600080fd5b5060043610610036570565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea264697066735821220404e37f487a89a932dca5e77faaf6ca2de3b991f93d230604b1b8daaef64766264736f6c63430008070033
                                  onchainRuntimeCode:
                                    type: string
                                    title: BytecodeString
                                    pattern: ^0x([0-9|a-f][0-9|a-f])*$
                                    example: >-
                                      0x608060405234801561001057600080fd5b5060043610610036570565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea264697066735821220404e37f487a89a932dca5e77faaf6ca2de3b991f93d230604b1b8daaef64766264736f6c63430008070033
                                  creationTransactionHash:
                                    type: string
                                    title: Keccak256
                                    pattern: (\b0x[a-f0-9]{64}\b)
                                    example: >-
                                      0xb6ee9d528b336942dd70d3b41e2811be10a473776352009fd73f85604f5ed206
                                  errorData:
                                    type: object
                          - description: >-
                              Optional, when the verification fails for some
                              reason.
                      jobStartTime:
                        type: string
                        format: date-time
                      jobFinishTime:
                        type: string
                      compilationTime:
                        type: string
                        description: >-
                          Time it took to compile the contract on the server in
                          milliseconds.
                        example: '1333'
                      externalVerifications:
                        type: object
                        description: >-
                          Links to external verification status endpoints on
                          Etherscan-alike services.
                        properties:
                          etherscan:
                            type: object
                            description: >-
                              Status metadata for the verification job mirrored
                              on an external explorer API.
                            properties:
                              verificationId:
                                type: string
                                description: >-
                                  Identifier returned by the external verifier
                                  when the job was created.
                                example: >-
                                  x3ryqcqr1zdknhfhkimqmizlcqpxncqc6nrvp3pgrcpfsqedqi
                              error:
                                type: string
                                description: >-
                                  Error message returned by the external
                                  verifier. Present when the verification
                                  failed.
                                example: 'NOTOK: Max rate limit reached'
                              statusUrl:
                                type: string
                                format: uri
                                description: >-
                                  Direct URL to query the verification status
                                  from the explorer API.
                                example: >-
                                  https://api.etherscan.io/v2/api?chainid=1&module=contract&action=checkverifystatus&guid=x3ryqcqr1zdknhfhkimqmizlcqpxncqc6nrvp3pgrcpfsqedqi
                              explorerUrl:
                                type: string
                                format: uri
                                description: >-
                                  Direct URL to the block explorer page for the
                                  contract
                                example: >-
                                  https://etherscan.io/address/0x0D41E0B7bbdEBDBc684020dcb64ADe76C0338222#code
                          blockscout:
                            type: object
                            description: >-
                              Status metadata for the verification job mirrored
                              on an external explorer API.
                            properties:
                              verificationId:
                                type: string
                                description: >-
                                  Identifier returned by the external verifier
                                  when the job was created.
                                example: >-
                                  x3ryqcqr1zdknhfhkimqmizlcqpxncqc6nrvp3pgrcpfsqedqi
                              error:
                                type: string
                                description: >-
                                  Error message returned by the external
                                  verifier. Present when the verification
                                  failed.
                                example: 'NOTOK: Max rate limit reached'
                              statusUrl:
                                type: string
                                format: uri
                                description: >-
                                  Direct URL to query the verification status
                                  from the explorer API.
                                example: >-
                                  https://api.etherscan.io/v2/api?chainid=1&module=contract&action=checkverifystatus&guid=x3ryqcqr1zdknhfhkimqmizlcqpxncqc6nrvp3pgrcpfsqedqi
                              explorerUrl:
                                type: string
                                format: uri
                                description: >-
                                  Direct URL to the block explorer page for the
                                  contract
                                example: >-
                                  https://etherscan.io/address/0x0D41E0B7bbdEBDBc684020dcb64ADe76C0338222#code
                          routescan:
                            type: object
                            description: >-
                              Status metadata for the verification job mirrored
                              on an external explorer API.
                            properties:
                              verificationId:
                                type: string
                                description: >-
                                  Identifier returned by the external verifier
                                  when the job was created.
                                example: >-
                                  x3ryqcqr1zdknhfhkimqmizlcqpxncqc6nrvp3pgrcpfsqedqi
                              error:
                                type: string
                                description: >-
                                  Error message returned by the external
                                  verifier. Present when the verification
                                  failed.
                                example: 'NOTOK: Max rate limit reached'
                              statusUrl:
                                type: string
                                format: uri
                                description: >-
                                  Direct URL to query the verification status
                                  from the explorer API.
                                example: >-
                                  https://api.etherscan.io/v2/api?chainid=1&module=contract&action=checkverifystatus&guid=x3ryqcqr1zdknhfhkimqmizlcqpxncqc6nrvp3pgrcpfsqedqi
                              explorerUrl:
                                type: string
                                format: uri
                                description: >-
                                  Direct URL to the block explorer page for the
                                  contract
                                example: >-
                                  https://etherscan.io/address/0x0D41E0B7bbdEBDBc684020dcb64ADe76C0338222#code
                    required:
                      - isJobCompleted
                      - verificationId
                  - type: object
                    properties:
                      contract:
                        type: object
                        title: VerifiedContractMinimal
                        properties:
                          match:
                            type: string
                            enum:
                              - match
                              - exact_match
                              - null
                            title: VerificationStatusNullable
                          creationMatch:
                            type: string
                            enum:
                              - match
                              - exact_match
                              - null
                            title: VerificationStatusNullable
                          runtimeMatch:
                            type: string
                            enum:
                              - match
                              - exact_match
                              - null
                            title: VerificationStatusNullable
                          chainId:
                            type: string
                            title: ChainId
                            pattern: ^\d+$
                            minLength: 1
                            maxLength: 20
                            example: '11155111'
                          address:
                            type: string
                            title: Address
                            description: >-
                              Contract Address in hex string. Can be checksummed
                              or not (i.e. can contain capital letters)
                            pattern: (\b0x[a-fA-F0-9]{40}\b)
                            example: '0xDFEBAd708F803af22e81044aD228Ff77C83C935c'
                          verifiedAt:
                            type: string
                            format: date-time
                            example: '2024-07-24T12:00:00Z'
                          matchId:
                            type: string
                            example: '3266227'
                        required:
                          - match
                          - creationMatch
                          - runtimeMatch
                          - chainId
                          - address
              examples:
                Success:
                  value:
                    isJobCompleted: true
                    verificationId: 72d12273-0723-448e-a9f6-f7957128efa5
                    jobStartTime: '2024-07-24T11:00:00Z'
                    jobFinishTime: '2024-07-24T12:00:00Z'
                    compilationTime: '1333'
                    contract:
                      match: match
                      creationMatch: match
                      runtimeMatch: match
                      chainId: '11155111'
                      address: '0xDFEBAd708F803af22e81044aD228Ff77C83C935c'
                      verifiedAt: '2024-07-24T12:00:00Z'
                      matchId: '3266227'
                Pending:
                  value:
                    isJobCompleted: false
                    verificationId: 72d12273-0723-448e-a9f6-f7957128efa5
                    jobStartTime: '2024-07-24T12:00:00Z'
                    contract:
                      match: null
                      creationMatch: null
                      runtimeMatch: null
                      chainId: '11155111'
                      address: '0xDFEBAd708F803af22e81044aD228Ff77C83C935c'
                Error:
                  value:
                    isJobCompleted: true
                    verificationId: 249c2f4b-af6c-46a7-a72e-d079da70ac0e
                    jobStartTime: '2025-05-20T07:24:00Z'
                    jobFinishTime: '2025-05-20T07:24:08Z'
                    contract:
                      match: null
                      creationMatch: null
                      runtimeMatch: null
                      chainId: '31337'
                      address: '0x5FbDB2315678afecb367f032d93F642f64180aa3'
                    error:
                      customCode: compiler_error
                      message: >-
                        Compile error.
                        [{"component":"general","errorCode":"2314","formattedMessage":"ParserError:
                        Expected ';' but got '{'\n -->
                        project:/contracts/Storage.sol:9:17:\n  |\n9 | contrat
                        Storage {\n  |                
                        ^\n\n","message":"Expected ';' but got
                        '{'","severity":"error","sourceLocation":{"end":158,"file":"project:/contracts/Storage.sol","start":157},"type":"ParserError"}]
                      errorId: f319b7fc-0286-4c23-bf1f-75996419a2ce
                      onchainRuntimeCode: >-
                        0x6080604052348015600f57600080fd5b506004361060325760003560e01c80632e64cec11460375780636057361d146051575b600080fd5b603d6069565b6040516048919060c2565b60405180910390f35b6067600480360381019060639190608f565b6072565b005b60008054905090565b8060008190555050565b60008135905060898160e5565b92915050565b60006020828403121560a057600080fd5b600060ac84828501607c565b91505092915050565b60bc8160db565b82525050565b600060208201905060d5600083018460b5565b92915050565b6000819050919050565b60ec8160db565b811460f657600080fd5b5056fea264697066735822122005183dd5df276b396683ae62d0c96c3a406d6f9dad1ad0923daf492c531124b164736f6c63430008040033
                      creationTransactionHash: >-
                        0xdd419b049534d2ead35de292ce73f3a9d9ecad33cdc1da1cae1d9fa3a86c74e1
                      errorData:
                        compilerErrors:
                          - component: general
                            errorCode: '2314'
                            formattedMessage: |+
                              ParserError: Expected ';' but got '{'
                               --> project:/contracts/Storage.sol:9:17:
                                |
                              9 | contrat Storage {
                                |                 ^

                            message: Expected ';' but got '{'
                            severity: error
                            sourceLocation:
                              end: 158
                              file: project:/contracts/Storage.sol
                              start: 157
                            type: ParserError
        '404':
          description: The job is not found with this ID
          content:
            application/json:
              schema:
                type: object
                title: GenericErrorResponse
                properties:
                  customCode:
                    type: string
                    description: A string token to indicate the reason of the error
                    example: unsupported_chain
                  message:
                    type: string
                    description: The reasoning of the error
                    example: >-
                      The chain with chainId 3153212 is not supported for
                      verification
                  errorId:
                    type: string
                    format: uuid
                required:
                  - customCode
                  - message
                  - errorId
                examples:
                  - customCode: unsupported_chain
                    message: The chain with chainId 9429413 is not supported
                    errorId: 1ac6b91a-0605-4459-93dc-18f210a70192
              examples:
                Example 1:
                  value:
                    customCode: job_not_found
                    message: >-
                      The verification job with id
                      461157eb-e4ea-4c5f-9aec-04c56924fd96 was not found
                    errorId: 1ac6b91a-0605-4459-93dc-18f210a70192

````