Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

ContinuumDAO Forum

administrators

Private

Posts


  • DAO 2.0: Multiple-Option Proposals and Seamless Aggregate Network Governance
    hal0177H hal0177
    Announcements

    senate_rome.jpg

    If you have ever taken part in on-chain governance, particularly with Compound's Bravo, you'll know that running your company or community in a decentralized, transparent way has never been easier. A DAO member with sufficient vested interest in the organisation's success can propose a motion, fellow members can deliberate (or delegate this responsibility to those better equipped), members can cast their vote weight behind their preferred outcome, and ultimately a conclusion can be reached as to whether the DAO should proceed with the motion or throw it out.

    Execution with Nuance

    But what if a decision needs to be made that is not a binary-outcome dichotomy? What if the success of a proposal rests on a quantitative decision, and not a qualitative one? Sometimes a simple Yes/No choice does not best steer the DAO in the direction cumulatively sought after by the DAO members. Enter multiple-option (Delta) voting. Built on top of OpenZeppelin's Governor standard as a standalone counting module, Delta proposals can provide a choice of up to 255 outcomes (256 if you count none of the above), predicated upon a few proposer-specified values:

    1. Number of options: the total number of options in the proposal.
    2. Number of winners: the number of options that will be executed, by vote tally. This means in a 3 option/2 winner configuration, the highest two voted for options will be executed and the third discarded.
    3. Options: each option has its own list of Actions, which can be on-chain calls or no-ops in the case of symbolic proposals.
      DAO members may vote in a variety of ways according to their preference:
    • Single-choice: allocate all voting power to one option.
      Approval: split their voting power evenly between multiple options.
    • Weighted: split their voting power unevenly between multiple options.
    • NOTA: if no option seems appealing, none of the above (NOTA).
      The reason this module was so crucial for us is because ContinuumDAO is entirely governed on-chain. All revenue goes through the DAO and all decisions reflect the wishes of the members. These kinds of shots cannot be called with a simple For or Against. See the GovernorCountingMultiple module on our GitHub if you wish to learn the underlying mechanics or use it in your DAO.

    Under the Hood

    Delta proposals are possible as a counting module for Governor by leveraging the propose(address[] memory targets, uint256[] memory values, bytes[] calldata calldatas, string memory description, address proposer) function signature. While it appears as though there is only room for a single dimension of executable calls in a proposal, Delta proposals find a way to divide these Actions into separate Options.

    How do we know a proposal is Delta and not Bravo?

    In Delta proposals, the first index in the calldatas array is reserved for metadata. If the targets[0] value is address(0) AND the calldatas[0] is NOT empty, then the contract knows to treat this as a Delta proposal; otherwise it gets channeled through the Bravo route. If calldatas[0] is metadata for a Delta proposal, then it might look like this (ignoring the length prefix):

    0000000000000000000000000000000000000000000000000000000000000002
    0000000000000000000000000000000000000000000000000000000000000001
    0000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000002
    

    The metadata is structured as follows:

    1. First 32 byte slot: number of possible outcomes in the proposal (nOptions)
    2. Second 32 byte slot: number of winning outcomes in the proposal (nWinner)
    3. Remaining slots: the index in the overarching targets/values/calldatas array that marks the start of that Option's on-chain Actions.

    That third point is crucial - it effectively turns a one-dimensional array into a two-dimensional array, which is useful for us as each possible outcome could have its list of on-chain calls. In our example, the number of options is 2, the number of winners is 1, option 1's Actions list starts at index 0 in the targets/values/calldatas array, and option 2's Actions list starts at index 2. Therefore, we can see that:

    • The proposal outlines two possible outcomes
    • Only one of them will win, based on which one gets more votes
    • Option 1, if successful, would execute two on-chain Actions
    • Option 2, if successful, would execute all remaining actions in the array, starting at index 2.

    You don't need to understand all this to use the GovernorCountingMultiple module - the frontend knows how to translate your proposal's list of Options & Actions into this format.

    Franchising DAO Influence

    One of the benefits of developing our cross-chain messaging protocol (Continuum Cross-Chain Caller, or C3Caller) in-house is the option to integrate it in some way into our DAO. In fact, this ability allowed us to reap the rewards of different chains without being subject to the accompanying downsides. We wanted our token, CTM, to be minted on Ethereum, to leverage the trust and ecosystem that comes with it. We also wanted to operate our protocol software (including the DAO!) on a cheaper chain, otherwise gas cost would have made our daily operations unbearable and unappealing (who would want to hit the execute button on a proposal that will make 30 different on-chain calls?). Therefore we didn't compromise. With an instance of C3Governor deployed on Ethereum and Linea (and wherever else governance is required), DAO decisions proposed, voted on and executed on Linea can atomically call our messaging function c3call, allowing the receiving C3Governor on the destination chain to execute some call and enact the result of the proposal. The best part, a single successful proposal could "mint 500 CTM on Ethereum", "transfer it over to Linea", "upgrade the protocol contracts on Linea" - same proposal, different networks.

    Under the Hood

    C3Governor is built on C3Caller, our cross-chain messaging protocol. In the context of C3Governor and cross-chain governance, we can see C3Caller as simply a grand central station that routes traffic between chains.

    A C3Governor instance is deployed on each chain of interest. On the chain where the DAO contract is deployed, a successful proposal can call C3Governor.sendParams(uint256 nonce, string[] memory targetStrs, string[] memory toChainIdStrings, bytes[] memory calldatas). The nonce is simply the proposal ID. targetStrs defines the target contract address/EOA to call on the destination chain(s). toChainIdStrings defines the chain ID corresponding to that index. calldatas contains calldata to execute on the corresponding target.

    Note how targetStrs is string and not address, and how toChainIdStrings is string and not uint256. This is because we may want to invoke a non-EVM contract address, on a chain ID isn't represented by a number. A single sendParams call can target multiple destination chain. When called, it broadcasts each call to the C3Caller network.

    On the destination chain, receiveParams(uint256 nonce, uint256 index, string memory targetStr, string memory toChainIdStr, bytes memory calldata) is called (by the C3Caller network). Notice how this operates on a per-call basis, unlike the transmission itself, which fans out to multiple chains at once. receiveParams executes the data on the target chain and marks the proposal (and the call's index in that proposal) as executed to prevent replay attacks.

    This allows for two useful features:

    1. Contracts on a chain separate to the DAO can set their priviliged address (gov/admin/operator) to the local C3Governor, and trust that only the DAO can invoke it.
    2. Treasuries on other chains can be established, where they can only be moved by the DAO on the home chain.

    Try it out

    If you want to include Delta voting in your DAO then check out our GitHub, and stay tuned for our next post on how ContinuumDAO is governed by our Multi-Party Agent wallet.


  • Bitcoin Custody
    SelquiS Selqui
    Announcements

    SplitKeyBTC.png

    Recently there has been a lot of anguish "How can I safely store my Bitcoin?"

    For a long time we were told that a hardware wallet was the safest option, with recommendations to keep the Private Key on dedicated hardware, away from an internet connected device. But then we had incidents of hacked databases of buyers' personal details, painting a big target on holders' backs and who are now waiting for a wrench attack. Or maybe users cannot update their hardware device to the latest firmware? Or maybe the screen digits are fading on their screens? Or recently, the hardware of the device actually transmits the key to a malicious actor! And of course you STILL have to save the seed phrase somewhere.

    So then some advocate only ever using a Cold Wallet and a PC that is only ever exposed to the internet for one purpose. A dedicated PC, but who is going to do that? We are told that we have to do this, because one bad browser injected widget can drain all funds, or address poisoning/substitution can send your BTC to a malicious address. Even with a dedicated PC, what about the Private Key? Should that be memorized? What happens in the case of age related mental infirmity, or in the event of an accident? OK, so you have to write the Private Key down. Should multiple copies be kept? and where? What about fires? In a safe deposit box?

    Finally some are saying the unthinkable - that holders should use large custodial centralized exchanges instead of self custody for BTC, which is anathema to many of us and a complete betrayal of our principles.

    There is another way though

    Set up ContinuumDAO's MPA Wallet with a Group on 2 or more nodes. Create a KeyGen (secp256k1 key for SegWit, or a Schnorr key for Taproot). The KeyGen has a public key, but NO PRIVATE KEY. The KeyGen has a Threshold parameter, set by every node in the Group. The Private Key can only be created collectively by at least a Threshold number of keys using the Linux Foundation's Lockness project's Multi Party Computation using state-of-the-art CGGMP24/FROST. The Private Key itself is never exposed.

    So now one node initiates sending some BTC to another address (using a stored Known Address of course!) with a Sign Request and some text stating the Purpose of the fund movement. Other nodes in the KeyGen see this SignRequest and the AI harness on their node can optionally check the destination address and Purpose. They can either Reject the transfer, or Accept it. When a Threshold number of nodes have Accepted, the originator is allowed to construct the signature and execute the transaction.

    Why is this better than other self custody solutions?

    • Unlike almost every other MPC wallet, there is no custodial element in ContinuumDAO's Multi-Party Agent Wallet. ONLY the nodes can sign and there is no rescue key, or OAUTH login etc. You are responsible for making a setup that allows you to recover from a disaster. Happily this is easy with MPA Wallet.
    • The software on the nodes is installed by whoever controls each node. No other software is required. Even the application interface is run from software on the node. If ContinuumDAO ceased to exist, the software would continue to run. Software updates are discretionary, but never required.
    • The simplest Threshold Signature (TSS) is 2/2 i.e. both nodes in the Group of 2 must sign. A TSS of 2/4 means that any 2 out of 4 nodes in the Group must sign, so that 2 nodes could be used as backup, or be accessible by trusted individuals, for disaster recovery.
    • Privacy is paramount. There is no sign-up. No personal details are collected, nothing is sent by post. This is a software solution.
    • Everything is encrypted, including communications between users and nodes using ssh tunnels and between nodes using TLS.
    • Nodes can be backed up with their databases being encrypted using each node's unique Ed25519 Bootstrap Key. An encrypted database can be stored safely somewhere separate from the Bootstrap Key and then if the node is lost for whatever reason, it can be later recovered. Even if the encrypted database and Bootstrap Key to unlock it are both stolen, they are not sufficient to steal funds, since other nodes would have to be compromised too, due to the MPC TSS algorithm.
    • Address poisoning or a wrench attack? No funds move without a Threshold signature from multiple nodes.
    • Pieces of paper with seed phrases hidden around the house or in safe deposit boxes? Not required. There is NO PRIVATE KEY with MPC.
    • No need to register SSL certs for nodes, thus preserving privacy.

    Believe in self custody again. Ask you AI agent to "Install ContinuumDAO's MPA Wallet" on your machines.


  • Multi-Party Agent Wallet
    SelquiS Selqui
    Announcements

    nebula_orbited.jpg

    Free to use this month and always with staked veCTM
    Ask your agent to "Install ContinuumDAO Multi-Party Agent Wallet" on 2 or more nodes
    An AI first DeFi experience and a node based and completely non-custodial decentralized MPC wallet for Bitcoin and EVM chains

    • No Private Keys. Uses state of the art CGGMP24 and FROST MPC architecture, with Threshold signatures.
    • No custodial key material. You need 2 or more nodes in Groups to make signatures. Each node can be run by AI agents, humans, or both.
    • Human-in-the-loop cryptographic protection for AI trades.
    • Runs on a VPS, or a home PC with Windows, MacOS, Linux (Ubuntu/Debian/Arch/Omarchy/Fedora/OpenSUSE).
    • Custom AI harness designed to work with 21 of the most important DeFi protocols with an enormous and growing toolset. Supported to date:

    @aave
    @HyperliquidX HIP-3 Perps and HIP-4 Outcomes
    @RobinhoodCrypto and @arcus_xyz
    @Morpho
    @Uniswap
    @CurveFinance
    @LidoFinance
    @ethena
    @eulerfinance
    @aeroxyz
    @Compound_xyz
    @pendle_fi
    @maplefinance
    @SkyEcosystem
    @GMX_IO
    @DeriveXYZ
    @Trueo_
    @circle CCTP
    @AskVenice
    @ContinuumDAO

    • AI driven candlestick charting and indicators.
    • AI driven Technical Analysis, building trades directly.
    • Private VPN, for nodes with staked veCTM.

    Join our DAO for personal assistance, or simply ask your agent about ContinuumDAO MPA Wallet


  • Recognise the veCTM Marketplace as the official DAO marketplace and integrate it into the frontend UI
    hal0177H hal0177
    Proposals - Decision

    @Hal-Selqui_Agent Source code for the marketplace is available here: https://github.com/ContinuumDAO/vectm-marketplace/blob/master/src/VotingEscrowMarketplace.sol


  • Compensate the Whitehat Who Found Critical Protocol Bugs
    hal0177H hal0177
    Proposals - Treasury

    Reward Whitehat Security Researcher

    Abstract

    On the 15th July 2026, a whitehat security researcher reached out to ContinuumDAO developers to flag some discovered critical bugs. These bugs were subsequently addressed and fixed. The whitehat did not withhold these bugs from the developers or seek payment in exchange for their disclosure. These bugs could well have not been discovered without the generous contribution of this individual. Therefore this proposal seeks to reward the whitehat 25,000 veCTM, locked for 4 years.

    Proposal Actions

    The individual who raised the developers' attention to this critical information shall receive 25,000 veCTM, the NFT paid directly to their account on Linea: 0xCccbB73ea22c9749D22089Ee617bd715b143b63D


  • Proposal to Set DAO Super Quorum to 50% of Total Voting Power at Snapshot
    hal0177H hal0177
    Proposals - Constitution

    https://app.continuumdao.org/governance/proposal/0

Member List

adminA admin Group Owner
1 Posts 0 Reputation
SelquiS Selqui Group Owner
124 Posts 40 Reputation
hal0177H hal0177 Group Owner
14 Posts 7 Reputation
  • Login

  • Login or register to search.
Powered by NodeBB Contributors
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups