Loading constellation…

Scroll for the Public Ledger Β· Drag to pan Β· Click a node to focus

Public accountability

Public Ledger

Recent fund activity stays in the same page flow so stewards can move from the fractal view into contract-aware ledger visibility without changing routes.

ID Date Type Status Amount Category Description Notes Proof link

Fund Snapshot

Wallet-aware treasury context and stewardship signals remain available on the unified route.

    Stewardship metrics

      Stewardship KPIs

        Project Pages

        Active project records stay available below the ledger for direct follow-through.

          Core Product Rule

          If a feature increases engagement but decreases agency, don’t build it. If a feature decreases engagement but increases agency, seriously consider building it.

          On-chain actions

          Steward Panel

          Connect your wallet on Optimism, then use the forms below to register projects, contribute ETH to a project treasury, or withdraw funds as a steward.

          Register Project

          Call registerProject on the ProjectRegistry. The Project ID becomes a bytes32 key (keccak256 of the string you enter). Fill in the metadata fields or paste a URI directly.

          Contribute ETH

          Send ETH to a registered project's treasury balance via contribute(projectId).

          Withdraw

          Withdraw ETH from a project's treasury as the steward via withdraw(projectId, amount).

          Admin β€” Contract Console

          πŸ› οΈ Admin β€” Contract Console

          ProjectRegistry

          0x799A9723…1a84

          Read

          owner()

          
                            

          paused()

          
                            

          projectExists(projectId)

          
                            

          getSteward(projectId)

          
                            

          getStatus(projectId)

          
                            

          getProject(projectId)

          
                            

          getProjectCount()

          
                            

          getAllProjectIds()

          
                            

          projectList(index)

          
                            

          Write

          registerProject(projectId, steward, metadataURI)

          updateProjectMetadataURI(projectId, metadataURI)

          updateProjectStatus(projectId, nextStatus)

          transferSteward(projectId, nextSteward)

          transferOwnership(nextOwner)

          pause()

          unpause()

          Read

          owner()

          
                            

          paused()

          
                            

          registry()

          
                            

          profileRegistry()

          
                            

          getProjectBalance(projectId)

          
                            

          payoutAddresses(projectId)

          
                            

          Write

          contribute(projectId) payable

          updateRegistry(newRegistry)

          updateProfileRegistry(newProfileRegistry)

          setPayoutAddress(projectId, payoutAddress)

          withdraw(projectId, amount)

          sweepUnassignedETH(recipient, amount)

          sweepERC20(token, recipient, amount)

          transferOwnership(nextOwner)

          pause()

          unpause()

          ProfileRegistry

          0xd66AdB…2446

          Read

          getProfileURI(account)

          
                            

          Write

          setProfileURI(profileURI)