ApeCoin Staking UIs: github.com/apestakeui/ui

github/apestake/ui
Seems natural that if we talk about self-custody we should also be talking about self-hosted dApps.

So we built a self-hosted, open sourced staking client for the ApeCoin DAO. It’s a lightweight UI that interacts directly with the staking smart contract and can be hosted locally on your device.

The client lets you connect to a self-custodied wallet and interacts directly with the staking smart contract (currently connected to the Goerli testnet contract). It is currently available to test on github and looks like this:

The only actions you can take with this client are those built into the staking smart contract. The client is open sourced so anyone can verify the public codebase and make upgrades. If you’re using a forked version, please verify the codebase doesn’t have unknown externalities prior to using.

What’s cool about the self-hosted approach is that anyone can customize the UI. Our plan is to make this a downloadable app that you can run locally as a desktop executable on your computer. We’ll make those upgrades after the staking contracts move to mainnet on 11/24.

Feel free to reach out on github if you have any questions or comments.

11 Likes

Hi Drew,
i am trying to get in touch with Horizen Labs dev team through twitter, github and email and so far no response.
i have posted about some feasible optimizations that i managed to find, but i couldn’t find who to share it with for the past 4 days. for sure security and having a functional system is essential, but also saving users on gas fees that will go to waste for the next 3 years is very crucial, especially when we are talking 20% to almost 50% optimization.

Best regards,

-Code

4 Likes

Hi Code!

I definitely agree and love your proposal (reading through in more detail now).

Unfortunately, I’m not affiliated with Horizen in anyway and don’t have a contact there to share.

When working on the staking UI app, I also noticed a lot of design decisions in the staking contract I wouldn’t have made that could offer some savings. (Why does BAKC pool withdrawing take in the Pair ID as an argument when it’s fixed by the position? Etc…)

TL;DR; I’m with you! Development on the smart contracts is not the best! Unfortunately, I can’t help fix them :confused:

Did you try submitting these findings as part of the official bug bounty program? It may qualify :fingers-crossed:

Best,
Drew Beller

5 Likes

Happy to hear that we are on the same page, i would love for the DAO to take this in control, rather letting it slide. it just horrible. i have opened a an issue in github:

i have pinged them on twitter:

i have even reached out to their product manager, he started responding, he was asking if i tried to submit it in immunefi, i told him i already did, but then i suggested to share a private repo with him, he saw it and went silence since yesterday:
https://twitter.com/DomenicoCusu
for immunefi, i mean they just classified it as out of scope, which is understandable, since they are only concerned with security related findings.
but yeah at this moment in time, i really want the community to see the true situation for what it is, and make the decision going forward, it just felt to me like Web2.5

5 Likes

i do understand from a PR perspective, Horizen Labs won’t want to look as they could have done a better job in the actual product development, but yeah let’s just hope that something works out before the mainnet, otherwise the cost will be hefty for the ape users for the next 3 years

3 Likes

Hi Drew,

Thanks for this initiative! Promoting and facilitating self-custody is so important in the space.

I wanted to ask about wallet support - has this implemented smart contract, multi-sig wallets like Gnosis and Argent?

Thanks!
Jason

5 Likes

Hi Jason,

This currently does not support sign-in with smart contract wallets. It currently only supports wallets that follow the standard EIP-1193:

https://eips.ethereum.org/EIPS/eip-1193

For Gnosis multi-sig specifically, I would recommend using their UI for general contract calls to interact with the staking contract.

One challenge in building this truly open-source UI is that it can’t rely on any closed source APIs. This prevents us from adding Wallet Connect which is currently the recommended way to add direct support for Gnosis multi-sig.

Best,
Drew

2 Likes

Fantastic, thank you for putting this together. It’s likely a reach, but is there any possibility of a mobile app anywhere down the line?

2 Likes

The biggest challenge with mobile support is really on the user side. Since the goal is that users can self host the app (I.e., no backend servers and no app stores) users would have to go through a good number of steps to get the apps on their phones.

I would love for someone to open a PR and add mobile support and compiled IOS/android apps to the repo though to give users the option!

2 Likes

IMO i’d argue for not changing it. If it’s expensive to stake/unstake, then people will have to be more mindful about when they enter and exit a position.

For those that stake on Day1 and unstake on day 1095 when the rewards end, it won’t make any difference to them.

1 Like

I like this idea, but how do we make sure this doesnt become a big security issue with people potentially downloading the wrong thing?

2 Likes

Hi Drew

Understood. I can’t speak for Gnosis, but know Argent is based on EIP-1271 (Standard Signature Validation Method for Contracts). It would be awesome to see more support for multi sig vaults in the space.

Thanks!
Jason

1 Like

hey jason and all you other gnosis/smart contract wallet proponents in here –

prysm, a group-owned wallet built on gnosis safe, has integrated directly with the ape staking contracts to democratize access to ape staking. through the direct integration and frontend experience, we overcome the eip-1271 issue.

while we’re focused on “multi player”, so that people can combine resources to access staking rewards, you can use our app to do “single player” ape staking as well with your existing gnosis safe. just go to prysm.xyz/import or just start a new safe on prysm and even purchase an ape and apecoin on the platform.

view our resource center here: Ape Staking - Squads Resource Center

the product is ready to go and we’re just waiting for apecoin to launch their mainnet contracts.

reach out to us on twitter if you want to get early access to the platform: https://twitter.com/prysm_xyz

1 Like

Is this a solution to the current geoblocking debacle if you just forked the staking contract and put this on top of that instead of trying to fix Horizen’s platform?

1 Like

This local app gets around geoblocking at the UI level and lets anyone talk directly to the same Ethereum staking API contract as the Horizen Labs app.

Anyone can fork and then host their own version for themselves/the community here:

I would advise against people using unofficial hosted versions though as they can be susceptible to fraud. I recommend people launch their own front-end apps locally (instructions on GitHub).

If you do use any unofficial hosted apps please ensure your transactions are going directly to the official Ape Stake contract addresses defined at:

2 Likes

No developer experience? No worry!

Executable for Mac/Ubuntu is ready

Still requires downloading Node beforehand:

1 Like