Upload Alpine Pay Contract

Details:

The Alpine DApp is a web application payment platform built on the Osmosis blockchain; designed to facilitate tipping of content creators using Osmosis tokens, users can now show their appreciation by making secure donations while including personalized messages to any social media user or content creator they wish to support.

The Alpine smart contract enables the core functionality of the DApp. It facilitates the creation and processing of tips, ensuring the secure transfer of Osmosis tokens from the sender to the content creator’s wallet address. Additionally, it enables the inclusion of personalized messages, allowing users to express their sentiments to the content creators.

Additionally, the Alpine web app builds upon the Alpine smart contract by making the concept fun, simple, and visually pleasing. User experience is improved by providing a Kado widget so that users who are unfamiliar with the Cosmos ecosystem can easily purchase crypto with fiat currency and send it to their favorite content creator without hassle. We also provide integrations for popular social media applications such as Twitter, Instagram, and GitHub so that users can easily identify their favorite streamer in our application.

To maintain control and governance, the Alpine smart contract will be owned by the Alpine Team. Integration with the Osmosis blockchain is crucial for the Alpine DApp’s seamless functioning.

Contract information (Alpine Pay):

The git commit Id - 877fbf2fc3a404e3487eac707a7061c7f0bb7d5f

The code can be found at - GitHub - temple-0/alpine-pay-core

Compiler Version - cosmwasm/rust-optimizer:0.12.11

Checksum - 462b55aa0132d962fc185bdbb65f736e4119c8914840239d9a55ecddeb38b5d8 alpine_pay.wasm

Uploader Address - osmo1zw5337y7a7ajj2jz4t0teyzcy5dup5k8wjz88a

1 Like

Will the tipping only occur on your platform?

Or will it more be the other way around that you will provide a widget which content creators can include in their socials (which is way more direct I would say).

1 Like

As of right now, the tipping will occur on our platform with users’ socials linked to their profile.

A long term feature we would like to add is a browser extension that would allow the user to tip while using different social media sites.

Will the creator have some kind of profile pages on your platform associated with a link which can be included in the socials?

1 Like

Yes! So here’s an example of the profile page that the user would fill out once they connect their Osmosis wallet:

And then they’d send out a link to their profile, which leads users to a page like this:

Clear, and here “user” you mean the creator, right?

Such that the persons who want to tip don’t need to do all the work, but it is more or less pre-filled except the size of the tip.

That’s correct. All that a sender needs to do is connect their wallet and send.

A sender would likely still want to fill out the username and display name in their profile so that the content creator could see who they are, but it’s not required.

Clear! Sounds interesting

A few questions:

A. Is OSMO the only token that can be used on Alpine or can any token on Osmosis be used (e.g. ATOM, wBTC, USDT, NCT, HUAHUA, BONK, etc.)? The screen shot provided shows that JUNO can be used.

If any token on Osmosis can be used will content creators be able to limit which tokens can be used to tip them?

B. Being “censorship resistant”, non-profit charitable funds/organizations like The Peoples Fund of Maui or The Hawaii Community Foundation - Maui Strong Fund that have been set up to help the people of Lahina should be able to set up a profile on Alpine to be able to accept donations as apps like Bitpay only process ETH based tokens, right?

If so, what is Alpine’s strategy to limit and respond to instances of fraud where fake profiles are created to impersonate such non-profit charitable funds/organizations and scam people?

C. Can it be made clear to the user that when sending a tip/donation to someone that there is a 3% fee being charged and that the person they are sending the tip/donation to will only be receiving 97% of the tip amount?

The screenshots of the user interface that has been provided seems to indicate to the user that a 3% donation fee exists and that person they are sending the tip/donation to incurs this charge. I am sure I am not the only person that would want to tip/donate a little extra to cover this fee so that the whoever I am sending a tip/donation to will receive the actual amount of the tip/donation that was intended. For example, if I wanted to send @LeonoorsCryptoman a 10 OSMO, knowing that there is a 3% fee would be very helpful so I could adjust and send a 10.3 OSMO tip instead so he can receive the 10 OSMO I wanted to tip him instead rather than just 9.7 OSMO. Showing the fee would also be helpful so that if it is ever changed, people like me can adjust appropriately.

D. Will content creators that just blog be able to link their blog (e.g. Medium, WordPress, Wix, etc.) so that their followers can easily find them on Alpine too since there isn’t a Alpine extension/widget/plugin yet?

Socials like Twitter, Facebook, YouTube, TikTok, and Instagram aren’t great platforms for those create content about baking or home gardening for example. While non-crypto content creators may not be the primary target audience at the moment, it would provide a opportunity to start bridging the divide between defi/crypto communities to others. Most people have hobbies/interst outside of defi/crypto after all.

I don’t know what Alpine’s business plan is, but engaging communities like Regen to tap into the larger network of environmental/carbon credit/refi bloggers, Bitcanna into the larger marijuana industry community of bloggers, Agoric into the larger javascript community of bloggers, Bitsong to the larger music community of bloggers, and Akash and Cudos into the larger tech (cpu and gpu) community of bloggers for example is where I see the real growth opportunities for an app like Alpine and makes the business case for deploying on a DEX chain like Osmosis stronger, especially if non-OSMO tokens can be used for tips/donations. I would even argue that with the right plan, a business development grant/0% interest loan from the OGP or even the community pool so that Alpine could work with such aforementioned communities to engage their larger respective communities of non-crypto bloggers and youtubers to test and provide UI/UX feedback to improve Alpine (and even Osmosis) is an area worthy of investment if Alpine is going to be deployed on Osmosis if that hasn’t been done already, and would be similar to the strategy being employed by Quasar and the OGP to attract Quasar vault adoption. In my opinion, looking at what works in economic development, not enough resources are being invested in helping apps like Alpine (such as Cosmos Pay by Bitcanna, and even CalcFi) gain greater adoption, which can attract new users and capital (not just financial, but human capital, social capital, knowledge/intellectual capital) that are essential for healthy and sustainable economic growth.

Comment/Concern Regarding Crypto FinFluencing:

My biggest concern with an app like Alpine being deployed on an app chain like Osmosis, which is a DEX, is about the growing finfluecing (crypto investment in particular) industry and the harm and negative externalities produced, both intentionally and unintentionally, by many content creators, particularly on Twitter, TikTok, Reddit, and YouTube. (See example tweets below). From a business ethics and putting user/investor safety first, without knowing what if any internal controls/firewalls/safeguards/strategies/prudential policies and procedures that those controlling the Alpine frontend are taking, I seriously question if a DEX chain like Osmosis is the most appropriate chain for Alpine to deploy on. I perhaps am over worrying about the potential use of Alpine by unprincipled finfluencers, but I feel it is the responsible thing to bring them up at least. (Someone should to take on the role of the 10th man role.

On a more positive note, I do wonder if deploying on a chain like Umee or Mars makes more sense, where content creators would be able to set up their accounts and the tips/donations they receive automatically deposited into a lending pool to gain some interest. I think this would be a cool selling point that could really help with Alpine adoption and even possibly help the capital efficiency of defi lending/borrowing market in terms of helping stabilize day to day interest rates. That could just be an under the hood operation though and something that can be worked out regardless of what chain Alpine deploys on and could work with the Mars outpost on Osmosis for tips/donations in OSMO, ATOM, and axlUSDC.

Examples:
image

(“in the future”, “never fail to pay back the support”, “still early”)

imageending/borrowing marke

(“100X easily”)

image

($qck and $strd gonna mint millionaires during a bull market $osmo too", “if you can’t hodl you will never be rich”)

image

(“take a guaranteed 15x profit”, “may go up to $25-$40 in the next bull run”)

(“20x potential”, “50x potential”, “100x potential”)

2 Likes

A.

Currently, JUNO is the only token that we support. We’ve taken a few early steps in preparation for migrating to Osmosis. Assuming the proposal goes through and we get our contract onto the Osmosis network, Alpine will, at least at first, only support OSMO transactions. That being said, we understand the importance of supporting multiple tokens in order to attract a wider group of users. We are still relatively early in Alpine’s deployment, so we haven’t yet been able to set up the infrastructure for supporting multiple tokens. Owing to some of the unfortunate instability we’ve been experiencing on the Juno network, we decided that before we start adding support for multiple tokens, we should have our app built on a stable network - naturally we thought of Osmosis.

What also plays into our decision as to what tokens to support is the availability of said tokens in Kado. You may have noticed from the screenshots that we have a button labelled ‘Buy/Sell’. This button brings up a modal with an embedded Kado instance that allows users to purchase tokens directly from the Alpine app. Our thought was that we should aim to add the tokens that Kado supports first to make it easier on users that are newer to crypto and less familiar with obtaining via DEX’s.

B.

Yes, in theory, non-profit organizations would be able to set up accounts to accept donations. Since the transactions are facilitated through the IBC, the actual process of sending a donation through Alpine would be beholden to the same resistance to censorship that exists on other Cosmoverse tokens.

Currently, the best form of fraud “prevention” that Alpine offers is the ability to link social media accounts. Since the process of linking an account is done via OAuth, meaning a user will not be able to (for example) link their Twitter unless they now the credentials to their Twitter account. This means that if a user sees an Alpine account and sees that the account has linked to an organizations official Twitter account, the Alpine account most likely belongs to the rightful owner of the organization.

This of course, is not the perfect solution, as it relies upon 3rd party sites, but it is the best solution the app currently offers. Something like the verification process featured on Twitter/X with the blue checkmark would perhaps be more reliable, but would require more overhead, and would probably have to wait until the app reaches a critical mass of users to make it worth implementing. Responses to instances of fraud would result in the deletion of the account. That being said, any funds already belonging to the account, which is built on top of the users Keplr wallet, would not be retrievable by Alpine.

C.

Yes, I agree with this suggestion, it would not be difficult to add an indicator showing the 3% fee and the total that the user will receive to the “Send Donation” form.

D.

Blog sites such as Medium, WordPress, Wix, etc. aren’t currently supported. We wanted to cover our bases with some of the traditional social media sites that people use nowadays as a proof of concept. Going forward we would of course like to add as many sites as possible to attract more users to Alpine.

As mentioned in the response to A., we would like to eventually achieve support for many IBC tokens so that users from their respective communities would find our app useful. That being said, it would take plenty of time and resources in order to develop the infrastructure in order to seamlessly switch between multiple tokens on the app, especially if we’re talking about non-OSMO tokens, as those will have variations in their respective CosmWasm libraries. We’ve already experienced this when we researched the possibility of deploying on the Secret network.

I appreciate your comment about community support, it would certainly be helpful in making Alpine the best version of itself. Not to sell ourselves short of course, but our development team does consist of just 2 people with day jobs, and it is our first real step into contributing to the community, so there are some ways in which we haven’t been able to fully leverage community outreach/support. At the same time I do believe that something like Alpine which is a pretty simple idea in and of itself has the potential to help bring some life back into the existing community as well as attract new users into the world of cryptocurrency.

With regards to FinFluencing

This isn’t something we initially thought of, but since you mention it, it certainly is something to be mindful of. The reasoning for deploying to Osmosis consists of two parts - 1) The stability and health of the network and community as a whole when compared to other networks and 2) the support for OSMO on Kado, which makes it possible for users to purchase tokens they can use for donations directly from the Alpine app. The first reason is very important for Alpine in its current stage as before we can move on to adding support for other tokens (even if in theory they are more relevant to our use case than a DEX token), we need to have our app run on a reliable network for the purpose of development and as a proof of concept. Once that has been achieved, I agree that it may be worth considering adopting a token that is more relevant to our use case and one that isn’t subject to the whims of finfluencers.

I really appreciate your interest in our project, thank you for asking these thought provoking questions!

1 Like

The github account included seems to be new and with little activity.
Is there a organization account or project page we can look at?

1 Like

or a twitter with history, etc?

BTW this is exactly why I was supporting permissionless.

Is this contract good? maybe

Do I know for sure? no

Is the author using the old contract upload and approval method? yes

Mr. Alpine pay, I’m sorry sir we authorize socially around here, and the fresh github and lack of an identity give me the willies.

Can anyone round these parts vouch for ya?

Le fresh github who is not le committer:

Le second fresh github:

I am now leaning towards vetoing this

update

I’m vetoing this.

The reason is the tx flow leading to the gov prop:

  • cex
  • hub
  • osmo

Also there is the proposer address:

…and the fact that the contract has been uploaded twice today, as well as many other times.

This thing is prop 619 and 620, and 520

The right and conscientous thing to do is veto.

Why veto?

  • Authors have zero downside risk.
  • Authors are not Osmosis community members
  • Authors do not even have a cosmos tx history.
  • Author a developer who doesn’t know that one must be staked to vote: chainscope
  • only one other account connected: osmo1wxqt3hqa79kn0t3xp0wn4z8ekx0qwku777al3d
  • Contract was tested on Juno, but no link to the demo interface provided
1 Like

Also voting NWV due to the concerns raised by @faddat.

We also agree with Crosnest that Osmosis should not incentivize creators, but liquidity, to stay focused on its goal. The token demand from tipping isn’t significant either.

Hi faddat,

I appreciate your feedback, and I’d like to address your points.

  1. Regarding our Github, this is indeed a new repository. We do our development in a private GitLab. We made our contract code public for the purpose of our proposal, and it was made public after the vast majority of contract work was completed. Aside from that, we both typically use private repos.
  2. As far as vouchers go, neither of us are particularly familiar with the Osmosis community. We have had some interactions with the Juno community if that works.
  3. The wallet linked here doesn’t have any transactions because it’s a multisig wallet made specifically for contract deployment. This was a security measure taken on our part to limit the exposure of high valued assets. I’m fairly certain that we both have made Osmosis transactions using our personal wallets, if you’d like to see those.
  4. We have made multiple proposals for a few reasons. The first one, 520, was rejected because we didn’t wait a week prior to making the proposal as seen in the Discord thread and the Keplr discussion. At the time this was the only opposition, so we figured that it wouldn’t be a problem to post again. The second one, 619, seemed to have problems. For instance, there was no automated post generated in the Discord channel nor was there a Keplr governance proposal created for it. We believe that this is due to a bug in the Osmosis CLI.
  5. As far as lack of staking, we apologize for that. We didn’t see that rule stated anywhere, and it wasn’t brought up last time we made our proposal.
  6. Regarding the old upload and approval method, we used the CLI after speaking to a support rep who said that was okay. He did mention another upload method through https://celatone.osmosis.zone but the option to upload a contract is unavailable. Is there another way to upload a contract?
  7. We can certainly provide a link to the demo interface: https://alpine.zone/ . There may be some bugs, as we’re still working on the frontend.

We hear your concerns, but we struggle to see how a veto would be appropriate over a ‘No’ vote. As far as we understand, and correct me if I’m wrong, vetoes exist for the purpose of preventing spam proposals and malicious contracts. Neither of these were raised as concerns - the most that can be said with regards to spam is that we encountered some issues when attempting to submit our proposal, which resulted in a duplicate proposal. For that and the fact that we don’t have an established presence in the community to be the reason for us losing over $500 out of pocket in OSMO, seems a little extreme. As mentioned earlier, we are just two developers with day jobs that have been doing this as a passion project, so we don’t have the backing of any grant program or big VC behind us, and as such a veto would be a costly mistake for us.

If you have any other suggestions as to how we can guarantee higher chances of our next proposal going through, we will make those corrections. The biggest takeaway is that we need to be known members in the community. We’ll work on that but in the meantime we hope that you see some merit in our project. Thank you!

Your rebuttals to the points raised are reasonable. We’ve changed our vote to NO.

“We also agree with Crosnest that Osmosis should not incentivize creators, but liquidity, to stay focused on its goal. The token demand from tipping isn’t significant either.”

Appreciate that you heard us out, thank you!

We hear your concerns regarding the project not really aligning with Osmosis’s goal of incentivising liquidity. Our troubles with the Juno network led us on a search for a more stable network, preferably with a token supported on Kado - Osmosis seemed like the best option based on that criteria.

If we were to look for a network where our project would fit in better, what would you suggest? @RedRabbit33 suggested Umee and Mars. Another option we were considering that would allow us to still utilize Kado support (along with some other potential benefits) is SCRT. Would that be a more appropriate network for us to deploy our contract too?

Thanks!

Juno and Neutron are permissionless, and anyone can upload anything there.

FYI, I’m in support of a permssionless Osmosis, too. However, as long as Osmosis remains permissioned, validators should be checking on author’s backgrounds, as well as on the intent of the contract.

So just to keep things clear with you – personally, I think that your contract would be fine here, but under the current rules for Osmosis contracts, there’s not a chance that I can support it.