v1 Network
The fairyring chain unlocks novel capabilities for Apps and other blockchains.
Apps refer to applications living on EVMs, and/or blockchains themselves, like those in the cosmos ecosystem.
When integrating with fairyring chain, Apps carry out active communication with the chain. This section will detail the core fundamentals, occurring beneath this integration.
Sequenced Steps When Integrating with fairyring
The core fundamentals can be seen in sequenced steps with the below schematic.

- Setup: Setup of
fairyringx/pepmodule within the blockchain hosting the App (including the use of pre-compiles for some EVMs) are carried out to enable communication with thefairyringchain. - Encrypt Transaction for later Execution: Apps listens to the
fairyringfor new Master Public Keys (MPKs) to encrypt their respective transactions. To encrypt a transaction the Apps also obtains a unique id fromfairyringcorresponding to its respective chain and transaction details. - Conditional Decryption:
fairyringawaits notification of a respective condition, by default it is a transaction-specificfairyringblock height. Once it is notified, a decryption key (keyshare) is automatically generated by thefairyringvalidators. - App Decryption and Execution:
fairyringshares the newly generated keyshare to the respective chain to decrypt the transaction at the beginning of the block. This is done in order to avoid risks arising from delayed execution.
The above sequence is carried out by the integration and use of two modules mainly:
x/pep module- On both thefairyring, and the respective blockchain or EVM, it handles all things related to encrypted transactions.x/keyshare module- Only onfairyring, it handles all things related to threshold IBE key generation.
You can find more details on both modules and more in the Advanced section.