Rosetta API Updates | Neuron Custody


Improvements to the Rosetta API in order to enable exchanges and other ecosystem participants to create neurons for staking and voting rewards.


What you can do to help

  • Ask questions
  • Propose ideas


Key people involved
@bogwar , Maciej Kot, @roman-kashitsyn


Relevant Background

  • Neuron custody via Rosetta (Phase 1 - Deposit). We’re going to divide this up into 3 releases, deposit, withdraw and manage.

So basically Coinbase could become another frontend to the NNS?

1 Like

Interesting way to put it, but I guess yes, it would mean Coinbase could have a lot of the functionality of the NNS Dapp (staking, voting, etc…)


Depending on how many of the features they’ll surface in the UI that would be lead essentially to another frontend to the NNS


Is it possible for Binance and Coinbase to hold on their design for the staking products? Or do they need to build an another especially for ICP? e.g. Binance has as default a 30/60/90 Days option, but within Neurons it is possible to lock up ICP for much longer.

Hmm…do we want this? These guys have enough power in the ecosystem as it is. It would seem to me that centralized exchanges holding the rights to a large portion of neurons is pretty antithetical to further decentralization. Not your keys, not your neurons. Community efforts like axon are at least keeping centralization at arm’s length with their approach.

On the other hand, I guess this stuff is going to emerge via other means if it isn’t provided.

All in all, it seems like a low priority to me.


I am not sure it is obvious but one large benefit of this project is that it would allow people to stake and vote through Coinbase (and other exchanges) so it would greatly increase both the pool and participation of the IC community. I think having people vote and stake in their provider of choice will reduce friction greatly.


I share @skilesare concerns. What would prevent a centralized exchange from issuing/voting on proposals that only benefit them? In an extreme case; let’s say an exchange like FTX wants to harm the IC because we become a credible threat to Solana. What keeps FTX from accumulating enough voting power to do something crazy like disconnect a data center? Unlike normal stakeholders, these exchanges would not be incentivized to vote in the best interest of the network because it’s not their money that they are playing with.

I agree that this is low priority.

Edit: I guess what I’m asking is whether or not we can prevent an exchange from voting as a proxy for the individual stakeholders. What would prevent the exchange from creating its own neuron (minimum amount staked) and setting all other neurons to follow at creation? Will the exchange be required to provide the stakeholder with a full neuron management interface?


Hey @diegop would you please clarify what this proposal means. I can envision two options (described below) that an exchange like Coinbase could provide. Option 1 seems like a very attractive option because it would improve decentralization and quickly move us closer to the 90% staking goal. I think this should be a high priority if the intent of the Rosetta API aligns with Option 1. Option 2 seems like a disaster to decentralization because it would put exchanges in a position to have a lot of voting power using other people’s money. I would not want Option 2 at all.

Option 1: Coinbase offers a front end for staking where a user is subject to all the same rules as we are with the NNS. Their ICP is actually staked in their own neurons and they have full control of their voting power and their vote following is set up by default in the same way as the NNS app default configurations.

Option 2: Coinbase offers a staking return that is slightly less than governance rewards. They take customer ICP and stake it in neurons that Coinbase owns and Coinbase controls the voting power. Coinbase earns the voting rewards and redistributes to their customers at a discounted rate to account for administrative costs and a small Coinbase profit. The key concern here would be that Coinbase would own the voting power that comes from other peoples investment in ICP.


I was reminded of this Roadmap topic after the recent Binance announcement.

I’m curious, are these Rosetta updates required for an exchange to offer NNS staking; or does this just make it easier for them to do so? To put it another way; is there something preventing an exchange, like Coinbase, from offering their customers an NNS staking option today?


Hi @LightningLad91 !

That’s a very good question!

The Rosetta node is by no means required to offer staking. Staking is a feature of the Governance smart contract, anybody can interact with that contract by sending messages to the IC. For example, Sygnum offers staking and neuron custody already. They are using quill and working on a more scalable and automated architecture based on Rosetta.

The Rosetta node doesn’t contain any magic when it comes to submitting transactions, it’s a simple translation layer between the JSON-RPC language of Rosetta API to the language of the IC ingress messages.

The main disadvantage of implementing staking directly is that there is not much documentation on how to do that, and there are many moving parts to take care of.

Rosetta API provides a common framework that is reasonably well documented and widely adopted. It’s much easier to start with Rosetta at the moment. This is very important for the financial integrations team because building a good financial product is hard, and we want to simplify this on our side as much as we can.

I hope one day we’ll have a comprehensive well-documented library that makes interaction with the Ledger and Governance much easier, and Rosetta node will become less important.


Thank you for the response @roman-kashitsyn

I spoke to @lastmjs about my concern (plz see my comment from September) and he explained that there was nothing we could really do to prevent an exchange from trying to accumulate voting power by taking control of their customer’s neurons. Your response seems to support his assessment.

I don’t want to rob potential stakeholders of convenience if it doesn’t buy us any extra security so i’ll likely vote to adopt this proposal.

1 Like