Governance data for CreateDAO

A TypeScript SDK that reads CreateDAO governance data straight from the chain. Track proposals, votes, delegations and voting power across Ethereum, Arbitrum and Sepolia, with no indexer to run.

🔍

No Indexer

Data comes from the CreateDAO contracts over RPC, synced incrementally and cached by a handler you mount in your own app.

⚡

Fresh After Every Vote

Live proposal state from the chain. One call after a transaction bypasses the cache so new votes and proposals show up immediately.

🌐

Multi-Chain

One API for Ethereum Mainnet, Arbitrum One and Sepolia, with the same types and IDs on every chain.

🚀 Build with DAO.CAFE

📦 daocafe-sdk

TypeScript SDK with React hooks and TanStack Query integration, plus a server handler that reads the chain.

npm install daocafe-sdk
🎮 Demo Application

Full-featured demo showcasing SDK capabilities: browse DAOs, view proposals, cast votes, and create governance actions.

  • Wallet integration with MetaMask
  • Proposal creation with IPFS metadata
  • Transaction simulation via Tenderly

🔎 Quick Start

1. Mount the handler (Next.js App Router)
// app/api/daocafe/route.ts
          import { createDaoCafeHandler } from "daocafe-sdk/server";

          export const GET = createDaoCafeHandler({
            rpcUrls: {
              1: process.env.RPC_URL_ETHEREUM,
              42161: process.env.RPC_URL_ARBITRUM,
              11155111: process.env.RPC_URL_SEPOLIA,
            },
          });
2. Use the hooks
import { useDAOs, useProposalsByDAO } from "daocafe-sdk";

          const { data: daos } = useDAOs({
            orderBy: "createdAt",
            orderDirection: "desc",
          });

          const { data: proposals } = useProposalsByDAO("42161_0xba71ff...");
3. Refresh after a vote
import { refreshDaoCafe } from "daocafe-sdk";

          // once the transaction receipt arrives
          await refreshDaoCafe(queryClient);

📦 Data Schema

🏛️ DAO
idString (chainId_governor)
nameString
managerAddress
tokenAddress
timelockAddress
proposalCountInt
totalVotersInt
📜 Proposal
idString
daoIdString
proposerAddress
descriptionString
stateEnum
forVotesBigInt
🗳️ Vote
idString
voterAddress
supportEnum
weightBigInt
reasonString
🤝 Delegate
delegatorAddress
toDelegateAddress
tokenAddress
updatedAtBigInt

About CreateDAO

DAO.CAFE reads all DAOs deployed via the CreateDAO v2 factory.

  • Factory: 0xc852E5Cb44C50614a82050163aB7170cB88EB5F9
  • Standard: OpenZeppelin Governor + ERC20Votes
  • Networks: Ethereum (1), Arbitrum (42161) & Sepolia (11155111)
    Same factory address on every chain

Integration

Use the manager field to find DAOs controlled by specific external systems (like OpenBook) or user wallets.