<p>We already have similar contracts, which are re-used by other more complex contracts (like Uniswap).</p>
<p>Take a look at <a href="https://github.com/input-output-hk/plutus/blob/master/plutus-use-cases/src/Plutus/Contracts/Currency.hs#L153" rel="nofollow noreferrer">mintContract</a> which is part of <a href="https://github.com/input-output-hk/plutus/blob/master/plutus-use-cases/" rel="nofollow noreferrer">plutus-use-cases</a> package.</p>
<p>Since smart contracts are using Haskell, we also get full namespaces, modules and package support handled for us by Haskell so re-using such contract means adding a correct package to your projects dependencies and importing it.</p>
<p>Note: during Plutus Pioneers course the function was called <code>forgeContract</code>.</p>
<p>I think there's also a ERC20 converter in the pipeline.</p>

CC BY-SA 4.0
2021-08-11T04:32:21.310Z
Indeed `forgeContract` has now been changed to `mintContract` since commit [#3403](https://github.com/input-output-hk/plutus/commit/f4aef5c058c9978d0a45f10d78c2caa0f912458d#diff-d23da88e3be22ad0d04eafc9709df28265d877c9ac25aaa6b210eb836b23dd81).
Igodlab
CC BY-SA 4.0
2021-06-24T11:54:37.453Z
2021-06-24T11:54:37.453Z
sorki
<p>I thought about curating some literature on <a href="https://github.com/hududed/awesome-eth-cardano" rel="nofollow noreferrer">ETH and Cardano interoperability</a> and was wondering about ERC20/ERC721 and plutus smart contracts. If I understand it right, ERC20/ERC721 are contract standards that users copy-paste into their code that can later be user-defined. In contrast, Plutus has a native token that can only manipulated via minting policy script.</p>
<p>Is there such a wrapper to convert the ERC20/721 standards into a plutus minting policy script? Or does this not make sense? If not, why?</p>

<plutus><erc20><erc721>
ERC20 / ERC721 vs Plutus smart contracts
# ERC20 / ERC721 vs Plutus smart contracts

(Asked by: username_0 on 2021-06-23)

I thought about curating some literature on [ETH and Cardano interoperability](https://github.com/hududed/awesome-eth-cardano) and was wondering about ERC20/ERC721 and plutus smart contracts. If I understand it right, ERC20/ERC721 are contract standards that users copy-paste into their code that can later be user-defined. In contrast, Plutus has a native token that can only manipulated via minting policy script.

Is there such a wrapper to convert the ERC20/721 standards into a plutus minting policy script? Or does this not make sense? If not, why?

**Tags:** plutus, erc20, erc721

---

## 1 answers

### Answer by username_1 on 2021-06-24. Score: 3

We already have similar contracts, which are re-used by other more complex contracts (like Uniswap).

Take a look at [mintContract](https://github.com/input-output-hk/plutus/blob/master/plutus-use-cases/src/Plutus/Contracts/Currency.hs#L153) which is part of [plutus-use-cases](https://github.com/input-output-hk/plutus/blob/master/plutus-use-cases/) package.

Since smart contracts are using Haskell, we also get full namespaces, modules and package support handled for us by Haskell so re-using such contract means adding a correct package to your projects dependencies and importing it.

Note: during Plutus Pioneers course the function was called `forgeContract`.

I think there's also a ERC20 converter in the pipeline.

> **Comments:**
> **username_2**: Indeed `forgeContract` has now been changed to `mintContract` since commit [#3403](https://github.com/input-output-hk/plutus/commit/f4aef5c058c9978d0a45f10d78c2caa0f912458d#diff-d23da88e3be22ad0d04eafc9709df28265d877c9ac25aaa6b210eb836b23dd81).  

---

