In the YIP-007 the v3 engine was proposed and accepted. It contains "A referral system to attract the introduction of new users.".
Upon the creation of new vaults, an introducer can be specified (via wallet address).
- An introducer can only be set at the time of vault creation.
- If an introducer is set, it cannot be changed later on.
- If no introducer is set, it cannot be retrocatively added.
This introducer will receive a YOU token allocation equal to a fraction (the introducer ratio below) of the YOU token allocation of the new minter. The allocation to the introducer is paid additionally, it is not coming from the new minter's allocation.
- Minter A does not specify an introducer.
- New minter A mints 1,000 uUSD in the v3 engine.
- Minter A gets allocated
xYOU tokens per week.
- Minter B specifies an introducer C (via introducer link or directly on the smart contract).
- New minter B mints 1,000 uUSD in the v3 engine.
- Minter B gets allocated
xYOU tokens per week, same as minter A.
- Introducer C gets
introducer_ratio * xYOU tokens per week.
Any user D can advertise minting on youves with an introducer link that contains a query string with their wallet (e.g. https://app.youves.com/?ref=tz1...xxx ). Any new minters which use the link will specify the user D as introducer in newly created v3 vaults.
Developers can implement the introducer logic directly in their applications, such as wallets, market places etc. This way their users can mint uUSD and/or uBTC directly out of the application and the developer gets the introducer allocation.
More information on the engines can be found in the links below:
- Contract on TzKT:
- Code of the v3 engine with tez collateral:
- Code of the v3 engine with token collateral: Token (FA1.2 or FA2):
- Code of the base engine v3 which contains shared code between the 2 contracts: