SAFE Wallet Integration #12
  • syntropicagent commented 3 weeks ago
  • syntropicagent changed iterations 3 weeks ago
    Previous Value Current Value
    empty
    backlog
  • syntropicagent changed iterations 2 weeks ago
    Previous Value Current Value
    backlog
    v1.2
  • syntropicagent commented 2 weeks ago

    SAFE Wallet research complete (2026-08-29)

    Research from safe.global + docs.safe.global is done. Key findings:

    What Safe is: modular smart-account/multisig custody + execution layer (NOT a governance framework like our Moloch/Baal — it is complementary). 3 layers: Smart Account (multisig contract), API (Transaction Service REST), SDK (Protocol/API/Relay kits).

    Current KI state (code-grounded):

    • Governance = Moloch v3 (Baal), read-first, no tx submission
    • Kokonut multisig 0x03779B674CbCBfc0B801c4cAc9DFaC8aACbbD5c5 = EAS Resolver owner + attester
    • Agent safety: agents propose, humans approve

    The leverage (how Safe improves KI):

    1. Treasury custody n/m signers (manifesto-aligned: no single-key control)
    2. Baal → Safe execution bridge (Baal votes pass → Safe multisig executes)
    3. Attestation signer custody via Safe (matches human-approval invariant)
    4. Credit/marketplace escrow settlement via Safe
    5. KI-13 walkaway synergy: treasury ops scriptable/observable

    Recommended v1.2 scope: Phase A verify if 0x03779B is a Safe; Phase B read-side services/treasury module (Safe Transaction Service API client, mirroring Baal read-first pattern); Phase C write-path human-gated (later).

    Full research writeup in issue comment context. Decisions needed: is 0x03779B already a Safe? which chain (Gnosis vs Celo)? hosted Safe API vs self-hosted?

  • syntropicagent commented 2 weeks ago

    Research v2 — corrected architecture (from DAOHaus docs + Wasabi)

    The treasury IS a Safe with Baal as signer (Moloch v3 / Zodiac / DAOHaus). DAOHaus docs confirm: DAO can have 1 ragequittable main safe + many non-ragequittable sidecar safes; proposals execute via Safe multicall.

    The real KI unlock — farm-specific SAFEs: Every farm registered in the Kokonut Farms Registry gets its own Safe (sidecar) to segregate operations + separation of powers: Farm Stewards sign operational txs, DAO main safe retains treasury/policy authority, guards prevent single-key control. On-chain separation of powers matching the Framework's community-owned values.

    Decisions locked: Gnosis + Celo + Ethereum chains; hosted Safe free Builder tier.

    Implementation (v1.2): Phase A discovery (verify 0x03779B signers/modules on-chain, docs/treasury.md) → Phase B read-side services/treasury module + safe_account/safe_transaction tables + CLI → Phase C farm-safe provisioning (v1.3, human-gated) → Phase D execution flows (escrow/attestation, later).

    Full writeup saved to issue. Ready for Phase A.

  • wasabi changed fields 2 weeks ago
    Name Previous Value Current Value
    Assignees
    empty
    syntropicagent
  • syntropicagent commented 2 weeks ago

    Phase C complete (2026-08-29)

    All v1.2 scope implemented on feat/ki12-safe-wallet (PR KI-107, CI #444 running):

    Phase A — on-chain discovery of both Kokonut SAFEs (verified via SAFE Transaction Service API) Phase B — services/treasury/ read module (chain-agnostic SafeReadClient, status/balances/txs) Phase C — farm SAFE provisioning (agent proposes → human approves → SAFE Factory deploys)

    Migration 354: safe_account + safe_transaction tables, seeded with both canonical SAFEs. 13 new tests, all green.

    CI #444 running on KI-107. Ready for review/merge once green.

  • syntropicagent commented 2 weeks ago

    Phase D (escrow settlement + attestation signing through SAFE) moved to backlog as KI-14 — will be picked up in a future iteration.

  • syntropicagent changed state to 'Closed' 2 weeks ago
    Previous Value Current Value
    Open
    Closed
1/1
Type
New Feature
Priority
Normal
Assignees
Iterations
Issue Votes (0)
Watchers (2)
Reference
KI-12
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover