---
title: "Verify Contract (using Solidity metadata.json)"
method: POST
path: "/v2/verify/metadata/{chainId}/{address}"
tags: ["Verify Contracts"]
---

# Verify Contract (using Solidity metadata.json)

`POST /v2/verify/metadata/{chainId}/{address}`

Endpoint to submit a verification with the Solidity [metadata.json](https://docs.soliditylang.org/en/latest/metadata.html)

## Path parameters

- `chainId` string, required
- `address` string, required

## Request body

- object
  - `sources` object, required — A mapping from file path to its content.
  - `metadata` object, required — The [metadata](https://docs.soliditylang.org/en/latest/metadata.html) as an object.
  - `creationTransactionHash` string — The hash of the transaction that created this contract. Optional.

## Response `202`

Successfully submitted the verification. The server started to process the verification. 

You can follow the verification status via the returned `verificationId` at `GET /v2/verify/{verificationId}`

- object
  - `verificationId` string, uuid, required

## Other responses

- `400` — Bad request from the client
- `409` — The contract is already verified
- `429` — You are sending too many requests to the server
- `500`

---

[API](https://skmtc.dev/tempoxyz/apis/contract-verification-api.md) · [All operations](https://skmtc.dev/tempoxyz/apis/contract-verification-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tempoxyz/contract-verification-api/revisions/a76585f33723/schema)
