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

# Verify zkSync Source Code

> Submit zkSync source code for verification.

export const chain = '1';

<ResponseExample>
  ```json Example response theme={null}
  {
    "status": "1",
    "message": "OK",
    "result": "a7lpxkm9kpcpicx7daftmjifrfhiuhf5vqqnawhkfhzfrcpnxj"
  }
  ```
</ResponseExample>


## OpenAPI

````yaml openapi/api-reference/endpoint/verifyzksyncsourcecode.json POST /v2/api
openapi: 3.1.0
info:
  title: Verify Source Code on zkSync
  version: 2.0.0
  description: Submit zkSync source code for verification.
  license:
    name: Etherscan API Terms
    url: https://etherscan.io/terms
servers:
  - url: https://api.etherscan.io
    description: Etherscan API.
security:
  - apiKey: []
paths:
  /v2/api:
    post:
      summary: Verify Source Code on zkSync
      description: Submit zkSync source code for verification.
      operationId: postVerifyzksyncsourcecode
      parameters:
        - name: chainid
          in: query
          required: true
          description: >-
            Chain ID to query, eg 324 for zkSync Era from our [supported
            chains](/supported-chains).
          schema:
            type: string
          example: '324'
        - name: module
          in: query
          required: true
          description: Set to contract for this endpoint.
          schema:
            type: string
            default: contract
          example: contract
        - name: action
          in: query
          required: true
          description: Set to verifysourcecode for this endpoint.
          schema:
            type: string
            default: verifysourcecode
          example: verifysourcecode
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                codeformat:
                  type: string
                  examples:
                    - solidity-standard-json-input
                  description: >-
                    Use `solidity-single-file` for a single file or
                    `solidity-standard-json-input` for JSON input.
                sourceCode:
                  type: string
                  description: The Solidity source code to verify.
                constructorArguments:
                  type: string
                  examples:
                    - >-
                      00000000000000000000000074271f2282ed7ee35c166122a60c9830354be42a
                  description: Optional constructor arguments used in contract deployment.
                contractaddress:
                  type: string
                  examples:
                    - '0xdAC17F958D2ee523a2206206994597C13D831ec7'
                  description: The address where the contract is deployed.
                contractname:
                  type: string
                  examples:
                    - contracts/Verified.sol:Verified
                  description: The contract name, including path if applicable.
                compilerversion:
                  type: string
                  examples:
                    - v0.8.24+commit.e11b9ed9
                  description: Compiler version used for compilation.
                optimizationUsed:
                  type: string
                  examples:
                    - '0'
                  description: >-
                    Required when codeformat is solidity-single-file. Use 1 if
                    optimization was used or 0 if disabled.
                zksolcVersion:
                  type: string
                  examples:
                    - v1.3.13
                  description: >-
                    Required for EraVM contracts and optional for EVM contracts.
                    Use a version with the v prefix, beginning with v1.3.0.
              required:
                - contractaddress
                - sourceCode
                - contractname
                - compilerversion
                - zksolcVersion
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: >-
                      1 if the request returned data, 0 otherwise. A status of 0
                      can indicate an error or a valid request that returned no
                      records.
                  message:
                    type: string
                    description: >-
                      OK on success, otherwise an error description such as
                      NOTOK. See [common error
                      messages](/common-error-messages).
                  result:
                    type: string
                    description: >-
                      GUID for the verification submission. Use it with
                      [checkverifystatus](/api-reference/endpoint/checkverifystatus)
                      to poll the result.
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: apikey
      description: >-
        Enter your Etherscan API key, or [set one up](/set-up-your-api-key) if
        you don't have one.

````