Smart Contracts
Built By DAO operates on 20 smart contracts deployed on Base (Ethereum L2). This section provides technical documentation for each contract.
Base (L2)
20
0.8.33
8453
π― Standards: ERC-20, ERC-721, OpenZeppelin UUPS, Role-based Access Control
πͺ Token Contracts
π« NFT Contracts
π° Financial Contracts
π’ Business Contracts
ποΈ Governance Contracts
β±οΈ Tracking & Vesting
π Common Patterns
Founder β Multisig Transition
All contracts implement a one-way transition from founder control to multisig governance:
function enableMultisig(address _multisig) external onlyFounder {
if (multisigEnabled) revert MultisigAlreadyEnabled();
multisigWallet = _multisig;
multisigEnabled = true;
}Key characteristics:
Irreversible once enabled
Transfers admin control to DAO multisig
Designed for progressive decentralization
Soul-Bound NFTs
NFT contracts 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
if (whitelistedAddresses[to]) return super._update(to, tokenId, auth); // Emergency
revert TransferNotAllowed();
}Transfer rules:
π’ Minting
Yes
π’ Burning
Yes
π‘ Transfer to whitelisted (emergency)
Yes
π΄ Transfer between users
No
Multi-Stablecoin Support
Financial contracts normalize across different decimal standards:
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));
}Supported stablecoins:
USDC
6
USDT
6
DAI
18
PYUSD
6
π Role Reference
DEFAULT_ADMIN_ROLE
Can grant/revoke all roles
All contracts
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
REVENUE_SOURCE_ROLE
Record revenue
Treasury
SERVICE_MANAGER_ROLE
Manage services
AccessControl, Redemption
FULFILLMENT_ROLE
Fulfill redemptions
RedemptionContract
PROPERTY_MANAGER_ROLE
Manage properties/leases
RentalAndRebate
RECORDER_ROLE
Record activity
ActivityTracker
SNAPSHOT_ROLE
Submit voter snapshots
Governance
π Development Resources
π Full Contract Index
ποΈ Architecture Deep Dive
ποΈ Governance V2.1 Spec
π Security Analysis
π§ͺ Test Results
π Related Pages
BLTBYTokenEQTBLTTokenDAOMembershipNFTGovernanceTreasuryLast updated