ERC 7726 + ERC 3643 = RWA Tokenization - Yehia Tarek
EthereumZuri.ch 2025 · 31 Jan 2025 · 24:46
Yehia Tarek shows how combining ERC-7726 and ERC-3643 supports the tokenization of real-world assets, at EthereumZuri.ch 2025. ERC-3643 is an Ethereum token standard for permissioned assets such as securities, with identity and compliance checks built into transfers, and the talk pairs it with ERC-7726 to build RWA tokens on Ethereum.
Speakers
Topics
From EthereumZuri.ch 2025, hosted by EthereumZuri.ch.
Transcript
[Music] hello everyone first thank you for the introduction uh my name is Yahya uh the title is ERC 7726 and ERC 3643 they are two new standard I will share them with you first uh I work for Nez mind as a blockchain engineer I started my career on building nft marketplaces then tokenizing gaming asset then doing some Launchpad for tokenized asset to and nft renting most of my career is on the
tokenization and now I am working on Libra Capital where we manage hedge funds uh like manage to caniz that hedge fund mainly uh today I will share with you my two favorite standard that hopefully if you follow them you will be able to tokenize everything on Earth it is uh of course challenging we have some small challenges the challenges are not too much technical of course we have some technical challenges but uh this uh kind of product have already been developed on web to and on other types of products but the the main issue we have or let's
say main challenge is on following regulations when you follow regulation uh it will be good because if it doesn't follow regulation it will not work but uh following all rules and doing exactly like what the books say may cause some issues like bringing bureaucracy to our blockchain so for example the normal transaction it can executed instantly but now after following the rules it take two working days or two business days to finish it which is sad but uh we need a way to get around it and it's already had been
fixed on web 2 on a simple way that we start small we start with a small product then keep having uh different release on each release we have a lot of back and force with lawyers with compliance auditor to find each small feature Fe feature by feature until we find the way which is good on software industry and normal web to but unfortunately on web 3 we will need to do upgrade contracts and if we have solidity def anyone here work in solidity okay nice like usually if someone doesn't know solidity it offer deployments but it is a hardest thing we
have and as a smart contract I am scared of it I don't want to do it a lot of time because it kills the storage and with multiple deployments you may make your smart contract not working that why we do our best to avoid this the best approach we have is to modularizing this like all compliance and Rule stuff should be on a separate module and we make sure that this part will not be upgraded or if it will be changed it should happen smoothly without any issue to do so first thing we need to do is to follow ERC standard why ERC standards help us on this it's for a simple reason first
thing is for auditing having arc's make the audit easy and audit is not only security audit we have other type of audits that I didn't know about them before working like uh compliance audit and accounting they are like enough to stop any release or uh cause a lot of issues so it is important to have them standardized and that what offer us ERC standard or any standard by ethereum that once it pass one time everyone can use it and it off some inability so for example uh everyone now know how things work or know the
standards which will help you to create for example def two def tools or some some other Frameworks and products that create ecosystem around any product you have like erc20 for example we started by it then we have deployer Services then we have analysis tools for it all of this happen because we have a standardized interface for it and that's the main idea and it help product owners and product designers to have a standard user experience or a user experience that they can follow and when following it they will be on the safe side or at least they have some experience to work on
it so let's jump to the standard first one is ERC 7726 this standard is for oracles it's still on the draft state but I recommend everyone to check it and uh to contribute on it it's still like looking for contributors uh the cool thing about this standard that it's flexible you can uh have permission Oracle and you can integrate it with other providers and you can have a lot of like flexibility on designing it which will not bother you on the same time it have some restrictions on important stuff like data handling and data fetching which I
will have separate slides explaining it later the main idea we have or the main thing we want to achieve that it look like rest API if someone is is familiar with it like it's nice to follow if you didn't follow them it will not kill you but that's a bad practice so having such standardized practices will be a good start to have everything more secure and more easy for us to follow after and the other standard is ERC 3643 known as T-Rex before uh this standard is exactly an erc20 token a normal rc20 what it do it have some extra
feature first interesting feature is it have integration with any identity so when I deploy this standard I registrate a smart contract that will work as an identity provider for example I can have a simple white list I have a smart contract with address 1 two 3 if you are not one of these addresses you can use my protocol or you can integrate it with some kyc providers like onchan ID for example so only kicc dallet can use your provider your protocol and the other thing it provide is compliance
service so if we check I'm not sure if it is clear I guess it is can I point here or how to yeah you can point okay great thank you sir so if you have a sender and he is trying to initiate a transfer it interact with the smart contract the smart contract uh check a compliance smart contract the compliance smart contract do two things first Fitch the identity and fetch any rule you will set on this one like white list or whatever so it it fetch identity check all rules and then return the data if the data is correct if you you follow
all conditions then it will be perfect now the transaction will pass it is same interface as erc20 but it have one extra feature that it you can have some rules and like let's say it is a permissioned erc20 some people were not so happy about it because we are on a decentralized t do why you want to introduce such stuff but it would be important in some cases uh like this one uh so assume we have a real estate project and we want to toonize it you can have your shares your Shares are tokenized and anyone can buy it so the
first issue is when you develop such product you have some requirement but issues happen uh when conditions change so for example yes we told you all people can can use this application but this guy that you on boarded this one we will not accept him we accept everyone on Earth expect your users how this may happen so for example I have some real estates this real estate accept people uh from us if you have a us uh citizenship or you are living in US you can buy this state if you are not you can't buy it so we will put or we will allow only people from us as the rule said but it appear that
that's not the only rule for example uh if this real estate is um like um for example a large state or like some Palace or whatever you are not allowed as individual to buy it you should be a an institution or any type of investor so how it work it start by user action like the user will do whatever he tried to do and then a group of conditions will met for example qy citizenship or jurisdiction whatever then limit of uh or limit or position of investment whatever but before doing any design you should have all these conditions group
together with all combination which will uh create a rules at the end this rule you should follow or like if it shouldn't transaction shouldn't pass if you didn't met it so if you return it again to the other slide when doing any transfer you need need a like user will do action that will cause a transfer you check all all conditions with this action that form a rule this rule may pass or no depending on uh the user type and a lot of things related to the user so how this work on real life or how to use this standard at the end assume we have a flow on real world
and a flow on web3 so on real world if you want to invest in stock market or you want to do anything that like related to real assets you need to have a qic on web 3 we don't have a Q like we don't have this procedure but we can we have a function called set on Shin ID what it on Shen ID do it accept a smart contract address this smart contract address should handle all rules and all stuff related to the identity provider uh you it is flexible you can change it update it each time depending on your product and in your case and it's
designed to be easy to change same for the set compliance uh function so after we have all identity stuff and AML we need to talk about compliance and Regulatory rules uh this stuff like usually they are stable but they may change and you need to be able to uh handle them on a flexible way that's why we have a set for them so you have a smart contract some people call it rules engine because it managed a lot of different rules like you put rules on it so you you set your compliance smart contract address and you can change it each time without
doing any upgrade just update the address like throw away the or smart contract and add a new one so you don't have the hustle of upgrades uh then the last and the most important step is ADD agent the compliant smart contract should have some agents agents on real life are people with licenses for example the previous Slide the example of real estate you can't sell any real estate if you are not a broker if you don't have the brokerage license you are not allowed to sell any so what we should do we should have a way to onboard people with licenses on web3 so we are able to do the bridge between real world assets
and the blockchain so what ad agent do ad agent add people with some flexible rules and they are able to do more actions for example they can buy token and unbind token so I have the broker the broker will sell some assets and if something goes wrong because he have more privileges and he got it from like L like it is not the product who granted it but that's how the regulatory regulatory stuff work so we allow it and we give people some higher um rule because they have some licens and this will help us to on board people from Real World to the
blockchain so uh to wrap up you have identity then you have the rules and you have people who can manage this rules as you should have on real world the one and last challenge is how to copy all this stuff like how to bridge between web 3 and web 2 to do so you need we need to talk about the other standard I mentioned it briefly at the beginning ERC 7726 it provide an oracle uh adapter so uh usually when you deal with oracles and if anyone here working in security or like uh auditing usually all
my friend who work on Smart contract audit love oracles like love to attack oracles it's where all bug and all vulnerabilities exist so the idea to have it as standard as an easier way to imple to use it and it have an interesting uh function called Cod off function this is a query this query deal with token by amount not by value so if I have for example a usdc or one e i deal it by its amount I don't check the Oracle to see its price then check it later I care only or I care
mainly about the amount of tokens and this is important in a lot of cases on uh like uh tokenizing any asset we made the assumption that for example usdc equal one usdc equal 1 USD we hope the stable coin equal exactly one fat but that's not true it may equal uh 0.995 for us individuals it may not be a big deal but uh if we have some assets with 1 million usdc and you treat it as USD you will end up with a half% disappear which may be actually the fees
of the whole protocol and may end you in like in a serious problem if any accounting happen or some large percentage like this is missing so what we have on cot off we have a a way to in to interact as one to one like I care about amount and I standardize the decimals a lot of attacks happen on this decimal if someone like in security but the main idea is to have things by amount not by value of course this may be uncool if you are using other uh product like doing any liquidity uh swapping or uh whatever other stuff but that not the use case of them like we
have this use case mainly to uh have shares to deal with shares for example on this case I have a user I have our wa token have the amount and want to translate it to his usdc so what we have we send the request the adapter will query the value of the rwa this uh this component may be of Shan like the price fees maybe Shen link or whatever and then we have the price of the usdc we get the prices then we do like normalize let's say normalize the amount like have a standardized way to handle this
and check it by amounts to make sure that we will not have any decimals issues then we will return the actual amount for us so uh just to have a quick wrap up what we have we start by setting the identity of the user then for each product we set the needed rules uh then we onboard the people with uh needed uh licenses to make sure it is they are existing and they are managing any H Cas that may happen then the last step is to have a stable bridge between real world and uh
blockchain and if anything change we have such a flexible structure to change our identity provider or change the compliance and that's all well wonderful sorry I was still amazed by it and waiting for it so yes questions please and please don't be shy the rest we have time for questions now so use it hello thank you for the presentation uh my question is about these two standards do you think we can already today say that it
is the standard to develop real world assets you make a mic more closer yeah do do you think these two standards are we can say today the standard for doing real word assets like can you use them today yes all okay for the three three like the compliance one yes it is ready to use it's already published and un St to use but the first one like this the 7726 let me show you it is still on draft stay like the proposal have been accepted but it's still on draft like you can't use it yet
so is it future proof let's say this like it is but it is like soon like it is accepted as a proposal so now we need to contribute to it and if we had some time like they all protocol were first like proposed then accepted proposed on draft and now on development so we can contribute to it it exist on GitHub and on draft State anyone can contribute have a question over there it's a gentleman with the quite interesting head you okay ouch and while we waiting um I forgot to mention actually our full-fledged
engineer from nether mind I'm very sorry I actually I mentioned it now it's quite a dangerous way of passing this around how do you keep this stuff liquid because this is like a main net proposal right like so if if you have like if you gate it on the ERC level how do you like it doesn't like it doesn't integrate into the like the larger defi right because you can't sort of uh have like if you if you gate it at the ERC level you need to have uh like that L inherently leads to like liquidity fragmentation like any like whether you g it on chain level or ERC level in in terms of like having those checks in place like how do you keep the stuff liquid right like how how do you like what's okay we'll tell
you so uh first thing uh we let's assume we have uh some conditions first one related to the uh like identity so I check the identity uh then check for let's say the inv the position so on the compliance smart contract let me go to it not sure so this compliance smart contract is developed by me I am the one who will write the code for it so what I will and I already have like no I I am aware of the identity registry and these two smart contract see each other so if for example it's identity it's simple I will
just fch the identity and Fitch the details if it is nationality or whatever or jurisdiction while if it is other thing like let's say uh balance position so I have a check for the balance or I have a query that say okay I will check the usdc amount of this wallet the usdc amount say that this investor for example less than 100K he is a small investor more he's an advisor than a professional so like it's like developing Logics on the compliance smart contract and depending on it I like it will be a lot of view functions view function for first rule that identities and whatever I want to add I
keep adding them and all of them will be executed when the transfer happen did I reply to your question or it's sorry like let me rephrase this so like if you like if you gate uh particip like essentially you only allow um qualified participants to like hold this asset right they have to go through the checks which means like which means like you like this inherently like limits the like LPS that can hold like the the lp tokens for such a pair this limits the um like pools like this kind of fragments to a separate liquidity pool so like you need to set have the whole infra let's say
Dex is lending markets for all of the stuff that exists today for these assets so you need to just you need to have like a whole ecosystem that is specifically targeting those gated assets that doesn't integrate with the wider def that's that's my question exactly very fast answer please sorry okay okay it's exactly as you said because such uh product usually are private Equity market so it's not for everyone like not all assets for everyone so yeah that's the case it is not like shouldn't be integrated on Unis swap you can't have buy your house on Unis swap because it doesn't have regulation yet or because the guy who will do the swap is not a a licensed or not a qic w so yes it's for such
specific private equity and one last thing sorry and this like create another Market because usually uh private Market or private Equity uh like have a lot of Roi like give you a high Roi but it is hard to liquidate so one of the main feature of rwa is to offer a market a transparent Market to sell such products wonderful thank you very much well in any case we see connect with nethermind connect with our great speaker here and then we're getting ready for the next stage and thank you again very much and another