# Deploy

Deployment requires JSON to be prefixed, and then the content encoding is sent to the specified address 0x0000000000000000000000000000000000000000. If the JSON is legal and the check has not been deployed, it is a valid deployment.

When deploying, we need to specify some required fields.

<table><thead><tr><th width="107">Key</th><th width="106.33333333333331">Required</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>yes</td><td>protocol name，ierc-20</td></tr><tr><td>op</td><td>yes</td><td>operation type: "deploy" | "mint" | "transfer" | "proxy_transfer" | "freeze_sell". Use "deploy".</td></tr><tr><td>tick</td><td>yes</td><td>token name.</td></tr><tr><td>max</td><td>yes</td><td>max supply.</td></tr><tr><td>lim</td><td>yes</td><td>limit for each mint.</td></tr><tr><td>wlim</td><td>yes</td><td>limit for each address can maximum mint.</td></tr><tr><td>dec</td><td>yes</td><td>decimal for minimum divie.</td></tr><tr><td>nonce</td><td>yes</td><td>don't repeat numbers with yourself.</td></tr></tbody></table>

**Requires attention:**

* tick itself is case-sensitive, but it is recommended that the index be case-insensitive.
* Since different indexes have different versions of JSON, here is a restriction, the last field of JSON cannot have a comma (,).

For example:

```
// deploy; send 0eth from self to 0x0000000000000000000000000000000000000000;
{
    "p":"ierc-20", //protocol name: ierc20
    "op":"deploy", //operation: deploy/mint/transfer/freeze_sell/proxy_transfer
    "tick":"ethi", //token tick, can't be repeatable, case insensitive.
    "max":"21000000", //max supply
    "lim":"1000", //limit for each mint
    "wlim":"10000", //limit for each address can maximum mint, address balance < deploy.wlim (Before mint, please do not receive transfers from others, transfers are also counted as balance)
    "dec":"8", //decimal for minimum divie
    "nonce":"0", //increasing interger
}
```


---

# Agent Instructions: 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.ierc20.com/devs/ierc-20/deploy.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.
