How ImmutableX NFTs Compare To Ethereum
Toggle full transcript
Hello and welcome to the lesson on how ImmutableX NFTs compare to Ethereum. Let's get right into it and start by looking
at the technical capabilities that both blockchains provide. On Ethereum, the capacity is roughly 15 to 25 transactions
per second, whereas on ImmutableX it can provide 9000 transactions per second. In terms of transaction confirmation time on Ethereum,
you need to wait 10 to 20 seconds or so to confirm a transaction. And on ImmutableX, transaction confirmation is instant. From an environmental perspective, Ethereum emits around
870 tons of carbon annually, which is roughly the equivalent of 100 average American households.
And ImmutableX is carbon neutral. In terms of fees, the gas fees on Ethereum are roughly $2 to $70 per transaction depending on the
transaction and the current congestion. Whereas on ImmutableX transactions are free, apart from when you purchase an NFT, in which case there's a 2% protocol fee that's taken.
On Ethereum, you can write completely bespoke smart contracts, whereas on ImmutableX there are some restrictions to the smart contracts that
you can write. In Ethereum you can transact using ETH, the utility token of Ethereum as well as any token standard, including ERC-20
and others. On ImmutableX, you can transact using the IMX token, which is the utility token of ImmutableX, as well as a subset of ERC-20
tokens that have been whitelisted for ImmutableX. And finally, from a wallet perspective on Ethereum, you can use any EVM compatible wallet, whereas on ImmutableX there is a subset
of wallets that are supported, namely Metamask, GameStop, hardware wallets that are attached to Metamask, and Magic.
From a smart contract perspective, the language that's used for smart contracts in ImmutableX is the same as Ethereum: Solidity;
and because of that, the development tooling is the same as Ethereum. So you can use HardHat or Truffle Suite or any of the others. From a contract perspective, the only contract that's supported
for an ImmutableX smart contract is ERC-721. So you can't do a 1155 or a custom ERC-20 or anything like that.
There's a restriction that you have to implement the IMintable and Ownable interfaces to have an ImmutableX compatible ERC-721
smart contract. IMintable is an interface that ImmutableX provides you. If you want to issue a transaction on ImmutableX,
then there's a prerequisite that the wallet that is issuing that transaction has been registered as a user on ImmutableX, which you can do using the ImmutableX
API. And similarly, if you want to mint an NFT, there's a prerequisite that you register the collection on ImmutableX associated with the smart contract
that's doing the minting and that the person that registers that collection has been registered as an ImmutableX developer. If we take a slightly less technical look, then there's an important
concept to explain called the Global Orderbook that ImmutableX provides. This is where any orders that are created on the ImmutableX platform are
stored, so that can include a request to buy a certain token or listing a token for sale and the actual trade that happens when
a buyer and a seller agree on a particular order. Now, what the Global Orderbook provides is a really powerful capability where any ImmutableX integrated marketplaces will immediately see
any orders that have been raised. If we contrast this to Ethereum, where the exchange smart contract,
the order book and the marketplace are all largely siloed into individual ecosystems. On ImmutableX, what this means is that the ImmutableX Smart Contract
and Global Orderbook make it so that each marketplace is using the same underlying data source. This means that it's much simpler to implement a marketplace on ImmutableX
you simply have to integrate with the ImmutableX APIs. Now let's have a little look at some of the workflows
that exist to transact value between Ethereum and ImmutableX. The first one we're going to look at is what happens when you mint an NFT and then later
decide to withdraw that NFT onto the Ethereum blockchain. So initially you would deploy an ERC-721
smart contract that has the requisite interfaces implemented for ImmutableX support, and then at some point you can mint an NFT as long as
a collection has been created on ImmutableX that links to that smart contract. Now minting an NFT on ImmutableX is a free operation and it's
instant. And whilst the NFT exists on ImmutableX, you can transfer that NFT, which is again a free, instant operation and you can also trade it where there's the aforementioned 2% protocol fee and it's also
an instant operation. Now at some point if you were the owner of that NFT and you decide that you would like to withdraw it so that you can trade it on Ethereum, what you
can do is issue a withdraw NFT request, which again is a free operation. This one takes a bit longer because the withdrawal requests are batched up by
ImmutableX to save on gas fees, and so it can take roughly 12 hours. And what will happen is if that NFT had never been minted before,
it will actually get minted at that point on the Ethereum blockchain and removed from the ImmutableX blockchain. And at that point you can transact with it in the same way
that you would any other ERC-721 NFT on Ethereum, including things like listing on Opensea etc.. Now, if we take a look at a slightly different workflow, what happens if we've previously
withdrawn from ImmutableX and we have our NFTs sitting on Ethereum, but we would then want to deposit it back into ImmutableX?
Well, what that would look like is you would perform a deposit operation to deposit that NFT into the ImmutableX smart contract that's sitting on Ethereum.
This operation would require gas fees and it would take a number of minutes as per any Ethereum transaction.
Once it's been processed, your user that corresponds to your wallet will now have ownership of that NFT on ImmutableX. And again, you can transfer and trade that NFT on ImmutableX
with the ImmutableX characteristics. All the while, the original Layer 1 NFT
that's sitting on Ethereum is locked in the ImmutableX smart contract. If at a later point someone then wants to withdraw that NFT back to Ethereum
again, then the owner of that NFT can perform a withdraw operation, which per the previous workflow is a free operation and takes roughly 12 hours.
Now, the last two workflows we've looked at NFTs. But ImmutableX has some support for ERC-20 fungible tokens as well. So what does that look like to deposit and withdraw ERC-20 tokens?
Well, it looks very similar. If you've got ETH or an ERC-20 fungible token, you can perform a deposit operation with gas fees that takes
a series of minutes to deposit those tokens onto the ImmutableX smart contract that sits on Ethereum and then the user that corresponds to your wallet
will then have those tokens available on ImmutableX. Once it's processed, you can then transfer and trade these tokens on ImmutableX with the same properties
that ImmutableX provides and the underlying tokens will be locked in that ImmutableX Layer 1 contract. And then at a later point, if the owner of those tokens decides
to, they can trigger a withdraw operation, which again is a free operation that takes roughly 12 hours and then those tokens will be available
on their wallet in Ethereum. So while these tokens are in ImmutableX, where can they be
seen? So from a marketplace and app perspective, any IMX integrated marketplace should be able to see your tokens.
Some of them may only show them when they're listed for sale though. And certainly any IMX integrated games or apps will be able to see any of the tokens that they're interested in.
Once you withdraw all the tokens to Ethereum, then the standard Ethereum rules apply. You can see them on Opensea as well as any other Ethereum
marketplaces where they're listed. From a wallet perspective, if you want to see your tokens, the GameStop wallet allows you to see your tokens.
And then in Ethereum again, the same rules apply. Any Ethereum wallets that show NFTs or tokens will also show any that have been withdrawn to Ethereum.
So this wraps up our first chapter, an introduction to ImmutableX, where we've talked about what ImmutableX is, the use cases, that it can be
used for, the capabilities that it provides as a platform and how it compares to Ethereum. Thanks for joining me.