> For the complete documentation index, see [llms.txt](https://akshaypilankar.gitbook.io/mycontract/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://akshaypilankar.gitbook.io/mycontract/client-api/smart-contract-creation-apis.md).

# Smart contract creation apis

## ERC 20 smart contract

<mark style="color:green;">`POST`</mark> `https://api.mycontract.co:3001/v1/smartcontract/ERC20`

#### Headers

| Name           | Type   | Description |
| -------------- | ------ | ----------- |
| Authentication | string | JWT token.  |

#### Request Body

| Name          | Type    | Description                                                                                                                                                                                       |
| ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| tokenName     | string  | Enter name of the project without spaces, usually 5-25 symbols. Lower and uppercase can be used                                                                                                   |
| tokenSymbol   | string  | Enter Token Symbol (eg. ETH, BTC, XDC)                                                                                                                                                            |
| tokenDecimals | string  | Enter Token Decimals (eg. 18)                                                                                                                                                                     |
| tokenSupply   | string  | Enter Total Supply (eg. 1000000000000)                                                                                                                                                            |
| ethRate       | string  | How many tokens will you be able to buy using 1 Eth ?                                                                                                                                             |
| bonusRate     | string  | Enter bonus rate in whole Number.                                                                                                                                                                 |
| isPausable    | boolean | Pausing token transfer during some initial period (e.g. while a crowdsale is taking place), to enable pause/release transfers                                                                     |
| isBurnable    | boolean | Keeps the token’s “totalSupply” value up to date, Useful in case someone wants to burn some tokens to reduce the supply for their project or burn unsold tokens                                   |
| isMintable    | boolean | Building distribution / crowdsale logic directly into the token contract or by including a generic mint function that can be called by an external contract to establish the initial allocations. |
| isUpgradeable | boolean | Token issuer may wish to upgrade or migrate the token to a new address to comply with a upgraded or new token standard.                                                                           |

{% tabs %}
{% tab title="200 " %}

```javascript
{
    smartcontract
}
```

{% endtab %}

{% tab title="302 " %}

```javascript
{
    "status": false,
    "message": "Package 1 required"
}
```

{% endtab %}
{% endtabs %}

## ERC 223 smart contract

<mark style="color:green;">`POST`</mark> `https://api.mycontract.co:3001/v1/smartcontract/ERC223`

#### Headers

| Name          | Type   | Description |
| ------------- | ------ | ----------- |
| Authorization | string | JWT token   |

#### Request Body

| Name          | Type   | Description                                                                                                                                                                                       |
| ------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| tokenName     | string | Enter name of the project without spaces, usually 5-25 symbols. Lower and uppercase can be used                                                                                                   |
| tokenSymbol   | string | Enter Token Symbol (eg. ETH, BTC, XDC)                                                                                                                                                            |
| tokenDecimals | string | Enter Token Decimals (eg. 18)                                                                                                                                                                     |
| tokenSupply   | string | Enter Total Supply (eg. 1000000000000)                                                                                                                                                            |
| ethRate       | string | How many tokens will you be able to buy using 1 Eth ?                                                                                                                                             |
| bonusRate     | string | Enter bonus rate in whole Number.                                                                                                                                                                 |
| isPausable    | string | Pausing token transfer during some initial period (e.g. while a crowdsale is taking place), to enable pause/release transfers                                                                     |
| isBurnable    | string | Keeps the token’s “totalSupply” value up to date, Useful in case someone wants to burn some tokens to reduce the supply for their project or burn unsold tokens                                   |
| isMintable    | string | Building distribution / crowdsale logic directly into the token contract or by including a generic mint function that can be called by an external contract to establish the initial allocations. |
| isUpgradeable | string | Token issuer may wish to upgrade or migrate the token to a new address to comply with a upgraded or new token standard.                                                                           |

{% tabs %}
{% tab title="200 " %}

```
{
    smartcontract
}
```

{% endtab %}

{% tab title="302 " %}

```
{
    "status": false,
    "message": "Package 1 required"
}
```

{% endtab %}
{% endtabs %}
