> For the complete documentation index, see [llms.txt](https://docs.hashkey.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hashkey.id/how-to/issuer-a-credential/step-1-deploy-a-contract.md).

# Step 1: Deploy a contract

Before you can create your credentials, you need to deploy a contract.\
First, connect your wallet with the issuer address, and enter the issuer management page.

*(Reminder: issuer management page is currently only can be used on PC)*

<figure><img src="/files/rO8V1fkWrxYKOlBzdpOh" alt=""><figcaption><p>Issuer personal menu</p></figcaption></figure>

Then click '**Contracts**' to go to the contract management page.

<figure><img src="/files/rInjnFrHzqcMReC5zkcj" alt=""><figcaption><p>Issuer Management</p></figcaption></figure>

Click '**Deploy contract**'.

<figure><img src="https://lh3.googleusercontent.com/vzo3-35z7wpFB6pS8M5_Adnhb0YmweCmYYy_4MbbPrUgc5WGfkyezM1aZcmW-gM1mXIqYwYEau3aiJys2os1lyQFNbQ2ub_gdkUnte7h68vJN-RgKYLKh_uuJYheYafjbdS9tgoTnkL6TgBGgTBQEmfuye26lt00bITMwdc_iijlujyS7n0_Uj-B0oRyaw" alt=""><figcaption><p>Btn - Deploy contract</p></figcaption></figure>

Select the blockchain you want to create a contract on, then click '**Next**'. If your current connected network is incorrect, you will be notified to switch to the corresponding network.

(We now only support PlatON and Klaytn, and we will take PlatON as an example.)

<figure><img src="/files/rKfxjt2WZOuRvkRLKJEv" alt=""><figcaption><p>Create contract - select blockchain</p></figcaption></figure>

On the creating page, you need to fill in some basic information about your contract.

Please be reminded that a certain gas fee is required to deploy and publish the contract, so you need to reserve some funds in the address.

<figure><img src="/files/1BzlBV2XHH7jsCM3Ew5f" alt=""><figcaption><p>Create contract - fill contract info</p></figcaption></figure>

Instructions for each field:

<table><thead><tr><th width="175">Field name</th><th>Field description</th></tr></thead><tbody><tr><td>Contract Name</td><td><p>Name of your contract.</p><p>Support English alphabet, numbers, "_", "-" and space and a maximum of 80 characters.</p></td></tr><tr><td>Contract Symbol</td><td><p>A symbol that represents your contract. </p><p>Support English alphabet and numbers and a maximum of 80 characters.</p></td></tr><tr><td>base_url_key</td><td><p>A parameter that will be written to the contract. It cannot be duplicated with an existing key.</p><p>Support English lowercase and numbers and a maximum of 80 characters.</p></td></tr></tbody></table>

After you fill all the required information, tick the checkbox and click ‘Deploy’, your wallet window will pop up and you need to pay the corresponding gas fee to deploy the contract.

<figure><img src="/files/Lf7vWrQOl8yk0S3q8KMR" alt=""><figcaption><p>Create Contract - deploy</p></figcaption></figure>

Then you have to wait for a while for the transaction to be confirmed on the blockchain. Once the transaction is completed, you will see your contract at the **Contracts** page.

<figure><img src="/files/GhJSXAJQhKvHsVv9u8AW" alt=""><figcaption><p>Issuer Management - Contracts</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hashkey.id/how-to/issuer-a-credential/step-1-deploy-a-contract.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
