[Edited] Allow Genie contracts to be uploaded


Passing this proposal gives the Coinhall team the ability to upload CosmWasm contracts to Osmosis mainnet relating to Genie, a campaign reward platform, without seeking further governance approval. Genie brings superior incentive and distribution mechanisms to Osmosis and is a proud recipient of the Osmosis Grant Program (Batch 15).

About Genie

The Genie platform first launched on Terra (phoenix-1) at 27 January 2023, and has since successfully ran 28+ campaigns over the past 8 months. The Coinhall team is now bringing this gamification of incentives and identity to Osmosis.

Genie allows anyone on Osmosis to create and run on-chain campaigns and reward users with any token on Osmosis. Engagement of communities and driving on-chain actions are made easy with this integration.

Creators are free to decide the parameters of their choice: which wallets to target, what on-chain mission to set, and what rewards to provide. Only eligible wallets that have completed the missions can claim their due rewards. This opens possibilities of use cases such as bonus rewards for long-term liquidity providers, retroactive airdrops, re-targeting inactive users, loyalty program, cross-platform partnerships, giveaways, and many more.

Other more powerful features are being worked on and will be released in due time.

Technical Details

Genie is made up of two contracts:

  • genie-airdrop: the contract to be instantiated per campaign, and which end users claim rewards from
  • genie-airdrop-factory: the factory contract which creators will use to instantiate the genie-airdrop contract

There is a one-to-one relationship between campaigns and genie-airdrop contracts. Every new campaign should instantiate a new genie-airdrop contract by executing the CreateAirdrop message to the genie-airdrop-factory contract. Creators who instantiate the reward contracts are the only parties allowed to withdraw from or deposit into the contracts (with certain limitations to protect the end user). For more information regarding the exact technical details, refer to the source code’s various READMEs at https://github.com/coinhall/genie-contracts.

While this proposal gives authority for osmo1yp8qwkfs964pkg3rge3k6ree2e6lrttgzs4r45 to permissionlessly upload any CosmWasm contracts to Osmosis, the passing of this proposal only signals approval for contracts relating to the function of the Genie platform to be uploaded.


The contracts have undergone Oak Security’s audit and the full report can be found here: https://github.com/oak-security/audit-reports/blob/master/Coinhall/2023-09-26 Audit Report - Coinhall Genie v1.0.pdf.

For full disclosure, a few commits for various bug fixes and feature improvements have been made after the audit. Most notably, a new “Lootbox” feature, which gives every claim a probabilistic chance of earning different amount of rewards, has been added. Users are free to view our open-sourced contract located at https://github.com/coinhall/genie-contracts.




These upload posts are meant to be on the forum for 7 days before chain to allow anyone interesting in auditing the public code to do so. Just commenting since I noticed the target on-chain date of 27th September.

This looks really useful! Excited to see it become available.

Sounds good!

Also to counter the narrative that the OGP never yields results it is a good signal to pass something like this ^^

We understand that typically the onchain proposal goes a week after the forum post but we hope that voters can make an exception as we’re really excited about the product and hope to display it live during Cosmoverse (2-4 Oct)!

can’t wait to bring this live to everyone! ^^

I understand, but we have agreed on having at least 1 week for smart contracts to be put on the forum. Going on chain within a day is a solid break with the agreements and will sadly get a no from me anyway.

If it is on the testnet, you could have displayed from there as well without running into a rejected proposal…
Looking at the proposal a lot of people simply don’t care about keeping a process (like we have seen countless times sadly), but I will stand by the agreements made.

1 Like

Hey there, we understand your concern about us breaking the 7-day process and thanks for sharing the reason for your no.

It is to our knowledge that this process is put as a safeguard to enable the public to audit the source code if need be. However, the smart contracts mentioned have been open-sourced and live on Terra since 27 January 2023 and have already facilitated 28+ campaigns and counting. We also regularly conduct E2E tests with testnets - refer to this directory: https://github.com/coinhall/genie-contracts/tree/main/scripts. On Osmosis testnet, we have also conducted the full E2E tests using this address: Interchain Explorer by Cosmostation.

Again, we are hoping that the Osmosis community will make an exception for this proposal since Cosmoverse is just a few days away and we would really like to show the capabilities of Genie during then. Rest assured, we will follow the proper governance decorum in our future proposals.


It looks like passing anyway (since a lot of validators don’t care about following their own approved set of rules, but hey, who am I?)

For me it is all about creating a precedent. If we allow you guys to “break” the rules, why should we enforce them for others?

1 Like

Just looked at Genie for the first time and thought wouldn’t it be cool if it was possible to create a campaign on Genie that rewards those that follow the rules that governance has passed.

1 Like

You are a community member of Osmosis who cares. So I understand that our proposal puts the community in a difficult position to question future proposers who may do the same.

1 Like

Guess we wouldn’t qualify for it :grimacing: but it’s possible for someone to create a campaign to reward proposers who follow governance rules since it’s easy to check the addresses of these proposers and whether they are good actors with regards to governance.

1 Like

Yeah, it is nothing personal :slight_smile:

If it had been 7 days on the forum my vote had been a Yes.