# GoodDocs

## GoodDocs

- [Welcome to GoodDocs!](https://docs.gooddollar.org/readme.md): Here you will find all the documentation for the GoodDollar protocol Smart Contracts and Dapp interfaces.
- [GoodDollar Ecosystem Vision](https://docs.gooddollar.org/gooddollar-ecosystem-vision.md)
- [How GoodDollar Works](https://docs.gooddollar.org/how-gooddollar-works.md): How does the GoodDollar protocol and G$ tokenomics work? Learn how we utilize DeFi to fund wealth creation for all.
- [Architecture & Value Flow](https://docs.gooddollar.org/how-gooddollar-works/architecture-and-value-flow.md): How does the protocol works?
- [System's Elements](https://docs.gooddollar.org/how-gooddollar-works/systems-elements.md)
- [Sybil-Resistance](https://docs.gooddollar.org/how-gooddollar-works/sybil-resistance.md): What is GoodDollar’s sybil-resistance mechanism and how does it work?
- [GoodDollar In Numbers](https://docs.gooddollar.org/gooddollar-in-numbers.md): How is G$ being utilized, and by whom?
- [Buy & Sell G$](https://docs.gooddollar.org/user-guides/buy-and-sell-gusd.md)
- [Bridge GoodDollars](https://docs.gooddollar.org/user-guides/bridge-gooddollars.md): This is a smart contract guide for those who want to bridge between Ethereum<>Celo<>Fuse<>XDC using the explorer
- [Connect another wallet address to identity](https://docs.gooddollar.org/user-guides/connect-another-wallet-address-to-identity.md): How to connect multiple wallet address with your verified wallet address.
- [Frequently Asked Questions](https://docs.gooddollar.org/user-guides/frequently-asked-questions.md): Seeking clarity on GoodDollar? Explore our comprehensive FAQ page for answers to all your questions!
- [Web3 basic knowledge and security tips - by Consensys](https://docs.gooddollar.org/user-guides/frequently-asked-questions/web3-basic-knowledge-and-security-tips-by-consensys.md)
- [About GoodDollar](https://docs.gooddollar.org/user-guides/frequently-asked-questions/about-gooddollar.md)
- [GoodDollar Protocol & G$ Token](https://docs.gooddollar.org/user-guides/frequently-asked-questions/gooddollar-protocol-and-gusd-token.md)
- [Using GoodDollar](https://docs.gooddollar.org/user-guides/frequently-asked-questions/using-gooddollar.md)
- [GoodDollar Community](https://docs.gooddollar.org/user-guides/frequently-asked-questions/gooddollar-community.md)
- [Troubleshooting](https://docs.gooddollar.org/user-guides/frequently-asked-questions/troubleshooting.md)
- [Useful Links](https://docs.gooddollar.org/user-guides/useful-links.md)
- [Liquidity](https://docs.gooddollar.org/liquidity.md): How can you become a GoodDollar liquidity provider?
- [New GoodWallet](https://docs.gooddollar.org/wallet-and-dapps/new-goodwallet.md)
- [GoodDapp](https://docs.gooddollar.org/wallet-and-dapps/gooddapp.md)
- [GoodCollective](https://docs.gooddollar.org/wallet-and-dapps/goodcollective.md)
- [3rd Party Partners and Integrations](https://docs.gooddollar.org/wallet-and-dapps/3rd-party-partners-and-integrations.md)
- [GoodID & GoodOffers](https://docs.gooddollar.org/wallet-and-dapps/goodid-and-goodoffers.md)
- [Contributing to GoodDollar](https://docs.gooddollar.org/for-developers/contributing.md): Everyone is welcome — developers, designers, writers, founders, students, and hobbyists alike. Whatever your background, there's a path to contribute that fits your skills and availability.
- [Open Source Contributors](https://docs.gooddollar.org/for-developers/contributing/open-source-contributors.md): Human contributors review, test, fix and validate AI-generated bounty pull requests before merge and payout.
- [Contributor Growth Path](https://docs.gooddollar.org/for-developers/contributing/open-source-contributors/contributor-growth-path.md): The more you contribute, the more you unlock. Each level opens higher-tier bounties — which means more responsibility and higher rewards.
- [Contributor Role](https://docs.gooddollar.org/for-developers/contributing/open-source-contributors/contributor-role.md)
- [Human Reviewer Role](https://docs.gooddollar.org/for-developers/contributing/open-source-contributors/human-reviewer-role.md): Reviewers require approval before picking up bounties. See Getting Reviewer Access below.
- [QA Role](https://docs.gooddollar.org/for-developers/contributing/open-source-contributors/qa-role.md)
- [Payments for Reviews, contributors & QA](https://docs.gooddollar.org/for-developers/contributing/open-source-contributors/payments-for-reviews-contributors-and-qa.md): Please note: Payout requests has to be done by a G$ verified wallet.
- [Developer Guides](https://docs.gooddollar.org/for-developers/developer-guides.md)
- [Deploy your own GoodDapp UI](https://docs.gooddollar.org/for-developers/developer-guides/deploy-your-own-gooddapp-ui.md): This is a step-by-step guide to deploy your own instance of the GoodDapp to interact with the V2 smart contracts on Mainnet.
- [How to integrate the G$ token](https://docs.gooddollar.org/for-developers/developer-guides/how-to-integrate-the-gusd-token.md)
- [Use G$ streaming](https://docs.gooddollar.org/for-developers/developer-guides/use-gusd-streaming.md)
- [Ethers V5/useDapp Context Setup](https://docs.gooddollar.org/for-developers/developer-guides/ethers-v5-usedapp-context-setup.md)
- [APIs & SDKs](https://docs.gooddollar.org/for-developers/apis-and-sdks.md)
- [UBI](https://docs.gooddollar.org/for-developers/apis-and-sdks/ubi.md): Every verified person is eligible to claim daily free UBI in the form of G$ tokens.
- [Claim UBI (Ethers v5/ React)](https://docs.gooddollar.org/for-developers/apis-and-sdks/ubi/claim-ubi-ethers-v5-react.md): Every verified person is eligible to claim daily free UBI in the form of G$ tokens.
- [Claim UBI (Viem/Wagmi)](https://docs.gooddollar.org/for-developers/apis-and-sdks/ubi/claim-ubi-viem-wagmi.md)
- [Claim UBI (Web-components)](https://docs.gooddollar.org/for-developers/apis-and-sdks/ubi/claim-ubi-web-components.md)
- [Sybil Resistance](https://docs.gooddollar.org/for-developers/apis-and-sdks/sybil-resistance.md): To be able to distribute free money while ensuring each unique person registers only once, we need to verify the liveness and uniqueness of people.
- [Identity (Ethers v5 / React)](https://docs.gooddollar.org/for-developers/apis-and-sdks/sybil-resistance/identity-ethers-v5-react.md): Follow below steps to integrate the Identity flow into your dapp!
- [Identity (Viem/Wagmi)](https://docs.gooddollar.org/for-developers/apis-and-sdks/sybil-resistance/identity-viem-wagmi.md)
- [Core Contracts](https://docs.gooddollar.org/for-developers/core-contracts.md)
- [GoodDollar](https://docs.gooddollar.org/for-developers/core-contracts/gooddollar.md): The GoodDollar G$ token follows the ERC-20 token standard and also supports ERC-677.
- [Identity](https://docs.gooddollar.org/for-developers/core-contracts/identity.md): The Identity contract controls addresses that are whitelisted to "Claim" UBI.
- [UBIScheme](https://docs.gooddollar.org/for-developers/core-contracts/ubischeme.md): Holds all the G$s that were transferred via bridge from the FundManager.
- [MentoReserve](https://docs.gooddollar.org/for-developers/core-contracts/mentoreserve.md): The contract manages collateral assets and reserve tokens for the Mento protocol exchange system.
- [MentoExpansionController](https://docs.gooddollar.org/for-developers/core-contracts/mentoexpansioncontroller.md): The contract controls how new GoodDollar tokens are minted and distributed for UBI.
- [MentoExchangeProvider](https://docs.gooddollar.org/for-developers/core-contracts/mentoexchangeprovider.md): The contract implements the core exchange mechanism for GoodDollar using a Bancor-style bonding curve.
- [MentoBroker](https://docs.gooddollar.org/for-developers/core-contracts/mentobroker.md): The contract executes token swaps between reserve assets and GoodDollar tokens through exchange providers.
- [Faucet](https://docs.gooddollar.org/for-developers/core-contracts/faucet.md): The contract is to provide functionality of topping the users with native tokens to pay transaction fees.
- [ContributionCalculation](https://docs.gooddollar.org/for-developers/core-contracts/contributioncalculation.md): Helper contract for calculating the exit contribution (i.e. when selling G$ back to the reserve).
- [OneTimePayments](https://docs.gooddollar.org/for-developers/core-contracts/onetimepayments.md): Payments on the GoodDollar wallet are done via payment links.
- [NameService](https://docs.gooddollar.org/for-developers/core-contracts/nameservice.md): Helper contract, basically simple name to address resolver.
- [Previous Protocol Versions](https://docs.gooddollar.org/previous-protocol-versions.md)
- [Protocol V1](https://docs.gooddollar.org/previous-protocol-versions/smart-contracts-guide.md): An introduction to the key components and members in the GoodDollar protocol V1.
- [Architecture & Value Flow](https://docs.gooddollar.org/previous-protocol-versions/smart-contracts-guide/architecture-and-value-flow.md): This page provides an overview of the GoodDollar smart contracts architecture and value flow within the system.
- [Core Contracts & API](https://docs.gooddollar.org/previous-protocol-versions/smart-contracts-guide/core-contracts-and-api.md): This page provides contract addresses for key components of GoodDollar protocol.
- [Protocol V2](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2.md): GoodDollar V2 refers to GoodDollar protocol smart contracts deployed in December 2021. PAY ATTENTION to confirm you are interacting with the correct and most current version of the smart contracts.
- [Architecture & Value Flow](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/architecture-and-value-flow.md): This page provides an overview of the GoodDollar V2 smart contracts architecture and value flow within the system.
- [System's Elements](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/systems-elements.md)
- [1. The token (G$)](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/systems-elements/1.-the-token-gusd.md)
- [2. The Reserve](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/systems-elements/2.-the-reserve.md)
- [3. The Trust](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/systems-elements/3.-the-trust.md)
- [4. Staking rewards (APR)](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/systems-elements/4.-staking-rewards-apr.md)
- [5. The Fund Manager](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/systems-elements/5.-the-fund-manager.md)
- [6. The Distribution Contract (DisCo)](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/systems-elements/6.-the-distribution-contract-disco.md)
- [7. Governance (DAO)](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/systems-elements/7.-governance-dao.md)
- [Core Contracts & API](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api.md)
- [GoodDollar](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/gooddollar.md): The GoodDollar G$ token follows the ERC-20 token standard and also supports ERC-677.
- [GoodCompoundStaking V2 (DAI)](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/goodcompoundstaking-v2-dai.md): Supporters / stakers can stake their DAI which is sent to permissionless protocols which earn interest. The FundManager has permissions to collect interest-earned from this contract.
- [GoodAaveStaking V2 (USDC)](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/goodaavestaking-v2-usdc.md): Supporters / stakers can stake their USDC which is sent to permissionless protocols which earn interest. The FundManager has permissions to collect interest-earned from this contract.
- [GoodReserveCDai](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/goodreservecdai.md): The GoodReserveCDai mints G$ based on the interest transferred from the FundManager. Only the FundManager can trigger minting.
- [GoodFundManager](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/goodfundmanager.md): Has permissions to collect interest from the staking contracts and permissions to tell GoodMarketMaker to mint. Anyone can trigger the collection and minting process.
- [GoodMarketMaker](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/goodmarketmaker.md): Helper contract for the GoodReserveCDai. It serves as a dynamic reserve ratio market maker.
- [ContributionCalculation](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/contributioncalculation.md): Helper contract for calculating the exit contribution (i.e. when selling G$ back to the reserve).
- [UBIScheme](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/ubischeme.md): Holds all the G$s that were transferred via bridge from the FundManager.
- [Identity](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/identity.md): The Identity contract controls addresses that are whitelisted to "Claim" UBI.
- [FirstClaimPool](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/firstclaimpool.md): Helper contract for UBIScheme. Manually funded by the Foundation to give 1G$ for "inactive" users when they claim.
- [AdminWallet](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/adminwallet.md): Helper contract for our backend servers to whitelist users and to fill their Fuse network gas.
- [OneTimePayments](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/onetimepayments.md): Payments on the GoodDollar wallet are done via payment links.
- [DonationsStaking](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/donationsstaking.md): Any ETH/DAI sent to this contract address is donated to the GoodDollar DAO and will generate interest to fund UBI.
- [NameService](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/nameservice.md): Helper contract, basically simple name to address resolver.
- [GReputation](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/greputation.md): The contract extends Reputation contract with delegation and cross blockchain merkle states.
- [CompoundVotingMachine](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/compoundvotingmachine.md): CompoundVotingMachine based on Compound's governance with a few differences.
- [StakersDistribution](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/stakersdistribution.md): Staking contracts will update this contract with staker token stake amount.
- [UniswapV2SwapHelper](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/uniswapv2swaphelper.md): The utilitary library which is helping to perform swaps in Uniswap V2.
- [Invites](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/invites.md): The contract that handles invites with pre allocated bounty pool with invitee bonus.
- [GovernanceStaking](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/governancestaking.md): This is the staking contract that allows citizens to stake G$ to get GOOD rewards.
- [ClaimersDistribution](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/claimersdistribution.md): The contract provides callbacks that can be used by UBIScheme contract to update when a citizen has claimed. It will distribute GOOD tokens each month pro rata based on number of claims.
- [CompoundStakingFactory](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/compoundstakingfactory.md): The staking contract that donates earned interest to the DAO.
- [AaveStakingFactory](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/aavestakingfactory.md): The staking contracts factory. Producing contracts donate earned interest to the DAO allowing stakers to deposit or withdraw their stake.
- [ExchangeHelper](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/exchangehelper.md): Helper contract to buy/sell G$ at GoodReserve with any token supported by Uniswap V2. Since reserve only supports cDAI.
- [FuseFaucet](https://docs.gooddollar.org/previous-protocol-versions/protocol-v2/core-contracts-and-api/fusefaucet.md): The contract is to provide functionality of topping the users with Fuse to pay transaction fees.
- [Protocol V3](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3.md): An introduction to the key components and users in the GoodDollar protocol V3. This is the current version of the GoodDollar smart contracts.
- [Architecture & Value Flow](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/architecture-and-value-flow.md): How does the protocol works?
- [System's Elements](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/systems-elements.md)
- [Core Contracts & API](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api.md)
- [GoodDollar](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/gooddollar.md): The GoodDollar G$ token follows the ERC-20 token standard and also supports ERC-677.
- [GoodCompoundStaking V2 (DAI)](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/goodcompoundstaking-v2-dai.md): Supporters / stakers can stake their DAI which is sent to permissionless protocols which earn interest. The FundManager has permissions to collect interest-earned from this contract.
- [GoodAaveStaking V2 (USDC)](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/goodaavestaking-v2-usdc.md): Supporters / stakers can stake their USDC which is sent to permissionless protocols which earn interest. The FundManager has permissions to collect interest-earned from this contract.
- [GoodReserveCDai](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/goodreservecdai.md): The GoodReserveCDai mints G$ based on the interest transferred from the FundManager. Only the FundManager can trigger minting.
- [GoodFundManager](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/goodfundmanager.md): Has permissions to collect interest from the staking contracts and permissions to tell GoodMarketMaker to mint. Anyone can trigger the collection and minting process.
- [GoodMarketMaker](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/goodmarketmaker.md): Helper contract for the GoodReserveCDai. It serves as a dynamic reserve ratio market maker.
- [ContributionCalculation](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/contributioncalculation.md): Helper contract for calculating the exit contribution (i.e. when selling G$ back to the reserve).
- [UBIScheme](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/ubischeme.md): Holds all the G$s that were transferred via bridge from the FundManager.
- [Identity](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/identity.md): The Identity contract controls addresses that are whitelisted to "Claim" UBI.
- [FirstClaimPool](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/firstclaimpool.md): Helper contract for UBIScheme. Manually funded by the Foundation to give 1G$ for "inactive" users when they claim.
- [AdminWallet](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/adminwallet.md): Helper contract for our backend servers to whitelist users and to fill their Fuse network gas.
- [OneTimePayments](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/onetimepayments.md): Payments on the GoodDollar wallet are done via payment links.
- [DonationsStaking](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/donationsstaking.md): Any ETH/DAI sent to this contract address is donated to the GoodDollar DAO and will generate interest to fund UBI.
- [NameService](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/nameservice.md): Helper contract, basically simple name to address resolver.
- [GReputation](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/greputation.md): The contract extends Reputation contract with delegation and cross blockchain merkle states.
- [CompoundVotingMachine](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/compoundvotingmachine.md): CompoundVotingMachine based on Compound's governance with a few differences.
- [StakersDistribution](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/stakersdistribution.md): Staking contracts will update this contract with staker token stake amount.
- [UniswapV2SwapHelper](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/uniswapv2swaphelper.md): The utilitary library which is helping to perform swaps in Uniswap V2.
- [Invites](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/invites.md): The contract that handles invites with pre allocated bounty pool with invitee bonus.
- [GovernanceStaking](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/governancestaking.md): This is the staking contract that allows citizens to stake G$ to get GOOD rewards.
- [ClaimersDistribution](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/claimersdistribution.md): The contract provides callbacks that can be used by UBIScheme contract to update when a citizen has claimed. It will distribute GOOD tokens each month pro rata based on number of claims.
- [CompoundStakingFactory](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/compoundstakingfactory.md): The staking contract that donates earned interest to the DAO.
- [AaveStakingFactory](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/aavestakingfactory.md): The staking contracts factory. Producing contracts donate earned interest to the DAO allowing stakers to deposit or withdraw their stake.
- [ExchangeHelper](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/exchangehelper.md): Helper contract to buy/sell G$ at GoodReserve with any token supported by Uniswap V2. Since reserve only supports cDAI.
- [FuseFaucet](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/fusefaucet.md): The contract is to provide functionality of topping the users with Fuse to pay transaction fees.
- [GoodDollarMintBurnWrapper](https://docs.gooddollar.org/previous-protocol-versions/protocol-v3/core-contracts-and-api/gooddollarmintburnwrapper.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.gooddollar.org/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
