💻Overview

Built By DAO runs on a comprehensive smart contract system deployed on Base (Ethereum L2). This section provides technical documentation for developers, integrators, and contributors working with the DAO's on-chain infrastructure.


circle-info

💻 System Overview

⛓️ Network
📜 Contracts
🔧 Solidity
🏗️ Pattern

Base (L2)

20 contracts

0.8.33

UUPS Proxy

circle-info

🎯 Purpose: Secure, decentralized infrastructure for affordable housing DAO


🏗️ Architecture Summary

The system consists of 20 smart contracts across five layers:

Layer
Purpose
Contracts

🏛️ Governance

Proposals, Voting, QV, 4× Ceiling

📊 Registry

Rank weights, Activity tracking

RankRegistry, ActivityTracker

👤 Identity

Member and investor NFTs

DAOMembershipNFT, Investor NFTs

💰 Financial

Treasury, vaults, spending

Treasury, Bank, Vaults

🏢 Business

Revenue, rentals, redemption

DAOBusiness, Rental, Redemption


chevron-right🔐 Common Patternshashtag

1. Founder → Multisig Transition

All contracts implement a one-way transition to decentralized control:

function enableMultisig(address _multisig) external onlyFounder {
    if (multisigEnabled) revert MultisigAlreadyEnabled();
    multisigWallet = _multisig;
    multisigEnabled = true;
}

2. Soul-Bound NFTs

NFTs override _update() to prevent transfers:

function _update(address to, uint256 tokenId, address auth) internal override {
    address from = _ownerOf(tokenId);
    if (from == address(0)) return super._update(to, tokenId, auth); // Allow mint
    if (to == address(0)) return super._update(to, tokenId, auth);   // Allow burn
    revert TransferNotAllowed();
}

3. Multi-Stablecoin Support

Financial contracts normalize across USDC (6 decimals), USDT (6), DAI (18), PYUSD (6):

function _normalizeToUsd(address token, uint256 amount) internal view returns (uint256) {
    uint8 tokenDecimals = stablecoinDecimals[token];
    if (tokenDecimals == 6) return amount;
    if (tokenDecimals > 6) return amount / (10 ** (tokenDecimals - 6));
    return amount * (10 ** (6 - tokenDecimals));
}

chevron-right🔑 Role Referencehashtag
Role
Description
Contracts

DEFAULT_ADMIN_ROLE

Grant/revoke all roles

All

ADMIN_ROLE

Administrative functions

Most contracts

MINTER_ROLE

Mint tokens/NFTs

BLTBYToken, EQTBLTToken, NFTs

MANAGER_ROLE

Operational management

Bank, Investor, NFTs

GOVERNANCE_ROLE

Execute governance decisions

Governance, Treasury

PROPERTY_MANAGER_ROLE

Manage properties/leases

RentalAndRebate

RECORDER_ROLE

Record activity

ActivityTracker


chevron-right⚙️ Technical Specificationshashtag
Property
Value

Solidity Version

0.8.33

Network

Base (Ethereum L2)

Token Standard

ERC-20, ERC-721

Upgrade Pattern

OpenZeppelin UUPS

Access Control

Role-based (AccessControl)



Smart Contractschevron-rightBLTBYTokenchevron-rightEQTBLTTokenchevron-rightGovernancechevron-right🪙Overviewchevron-right🗳️Overviewchevron-right

Last updated