# Core Contracts & API

## Abstract

GoodDollar Protocol is deployed on both the Ethereum mainnet and on the Fuse sidechain. Contracts like the GoodReserve are only on Mainnet, and other contracts like the UBIScheme are only on the Fuse sidechain. Certain contracts, such as the DAO and G$ Token contracts, are deployed on both networks.

## Tables of addresses

### Core Contracts

### Core Contracts

<table><thead><tr><th width="177">Contract</th><th>Mainnet</th><th width="200">Fuse</th><th>Source code</th></tr></thead><tbody><tr><td><a href="broken-reference">GoodDollar ERC20</a></td><td><a href="https://etherscan.io/address/0x67C5870b4A41D4Ebef24d2456547A03F1f3e094B">0x67C5870b4A41D4Ebef24d2456547A03F1f3e094B</a></td><td><a href="https://explorer.fuse.io/address/0x495d133B938596C9984d462F007B676bDc57eCEC/transactions">0x495d133B938596C9984d462F007B676bDc57eCEC</a></td><td><a href="https://github.com/GoodDollar/GoodContracts/blob/master/contracts/token/GoodDollar.sol">GoodDollar.sol</a></td></tr><tr><td><a href="broken-reference">GoodCompoundStaking V3 (DAI)</a></td><td><a href="https://etherscan.io/address/0x7b7246c78e2f900d17646ff0cb2ec47d6ba10754">0x7b7246c78e2f900d17646ff0cb2ec47d6ba10754</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/staking/compound/GoodCompoundStakingV2.sol">GoodCompoundStakingV2.sol</a></td></tr><tr><td><a href="broken-reference">GoodAaveStaking V3 (USDC)</a></td><td><a href="https://etherscan.io/address/0x3ff2d8eb2573819a9ef7167d2ba6fd6d31b17f4f">0x3ff2d8eb2573819a9ef7167d2ba6fd6d31b17f4f</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/staking/aave/GoodAaveStakingV2.sol">GoodAaveStakingV2.sol</a></td></tr><tr><td><a href="broken-reference">GoodReserveCDai</a></td><td><a href="https://etherscan.io/address/0xa150a825d425B36329D8294eeF8bD0fE68f8F6E0">0xa150a825d425B36329D8294eeF8bD0fE68f8F6E0</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/reserve/GoodReserveCDai.sol">GoodReserveCDai.sol</a></td></tr><tr><td><a href="broken-reference">GoodFundManager</a></td><td><a href="https://etherscan.io/address/0x0c6c80d2061afa35e160f3799411d83bdeea0a5a">0x0c6c80d2061afa35e160f3799411d83bdeea0a5a</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/staking/GoodFundManager.sol">GoodFundManager.sol</a></td></tr><tr><td><a href="broken-reference">GoodMarketMaker</a></td><td><a href="https://etherscan.io/address/0xDAC6A0c973Ba7cF3526dE456aFfA43AB421f659F">0xDAC6A0c973Ba7cF3526dE456aFfA43AB421f659F</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/reserve/GoodMarketMaker.sol">GoodMarketMaker.sol</a></td></tr><tr><td><a href="broken-reference">ContributionCalculation</a></td><td><a href="https://etherscan.io/address/0x8eEC64bb6807c0178f96277cCE6a334B4e565E5C">0x8eEC64bb6807c0178f96277cCE6a334B4e565E5C</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodContracts/blob/master/stakingModel/contracts/ContributionCalculation.sol">ContributionCalculation.sol</a></td></tr><tr><td><a href="broken-reference">UBIScheme</a></td><td></td><td><a href="https://explorer.fuse.io/address/0xd253A5203817225e9768C05E5996d642fb96bA86/transactions">0xd253A5203817225e9768C05E5996d642fb96bA86</a></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/ubi/UBIScheme.sol">UBIScheme.sol</a></td></tr><tr><td><a href="broken-reference">Identity</a></td><td><a href="https://etherscan.io/address/0x76e76e10Ac308A1D54a00f9df27EdCE4801F288b">0x76e76e10Ac308A1D54a00f9df27EdCE4801F288b</a></td><td><a href="https://explorer.fuse.io/address/0xFa8d865A962ca8456dF331D78806152d3aC5B84F/transactions">0xFa8d865A962ca8456dF331D78806152d3aC5B84F</a></td><td><a href="https://github.com/GoodDollar/GoodContracts/blob/master/contracts/identity/Identity.sol">Identity.sol</a></td></tr><tr><td><a href="broken-reference">FirstClaimPool</a></td><td></td><td><a href="https://explorer.fuse.io/address/0x18BcdF79A724648bF34eb06701be81bD072A2384/transactions">0x18BcdF79A724648bF34eb06701be81bD072A2384</a></td><td><a href="https://github.com/GoodDollar/GoodContracts/blob/master/stakingModel/contracts/FirstClaimPool.sol">FirstClaimPool.sol</a></td></tr><tr><td><a href="broken-reference">AdminWallet</a></td><td></td><td><a href="https://explorer.fuse.io/address/0x9F75dAcB77419b87f568d417eBc84346e134144E/transactions">0x9F75dAcB77419b87f568d417eBc84346e134144E</a></td><td><a href="https://github.com/GoodDollar/GoodContracts/blob/master/contracts/wallet/AdminWallet.sol">AdminWallet.sol</a></td></tr><tr><td><a href="broken-reference">OneTimePayments</a></td><td></td><td><a href="https://explorer.fuse.io/address/0xd9Aa86e0Ddb932bD78ab8c71C1B98F83cF610Bd4/transactions">0xd9Aa86e0Ddb932bD78ab8c71C1B98F83cF610Bd4</a></td><td><a href="https://github.com/GoodDollar/GoodContracts/blob/master/contracts/dao/schemes/OneTimePayments.sol">OneTimePayments.sol</a></td></tr><tr><td><a href="broken-reference">NameService</a></td><td><a href="https://etherscan.io/address/0xec6dcE387B1616a0c44fF2E4fA9E90E53Cf14eb0">0xec6dcE387B1616a0c44fF2E4fA9E90E53Cf14eb0</a></td><td><a href="https://explorer.fuse.io/address/0xec6dcE387B1616a0c44fF2E4fA9E90E53Cf14eb0/transactions">0xec6dcE387B1616a0c44fF2E4fA9E90E53Cf14eb0</a></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/utils/NameService.sol">NameService.sol</a></td></tr><tr><td><a href="broken-reference">GReputation</a></td><td><a href="https://etherscan.io/address/0x603b8c0f110e037b51a381cbcacabb8d6c6e4543">0x603b8c0f110e037b51a381cbcacabb8d6c6e4543</a></td><td><a href="https://explorer.fuse.io/address/0x603B8C0F110E037b51A381CBCacAbb8d6c6E4543/transactions">0x603B8C0F110E037b51A381CBCacAbb8d6c6E4543</a></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/governance/GReputation.sol">GReputation.sol</a></td></tr><tr><td><a href="broken-reference">CompoundVotingMachine</a></td><td><a href="https://etherscan.io/address/0x57ee6ceff51cb30ecb1245934a882c500fbec1e9">0x57ee6ceff51cb30ecb1245934a882c500fbec1e9</a></td><td><a href="https://explorer.fuse.io/address/0x57Ee6Ceff51CB30Ecb1245934a882c500Fbec1e9/transactions">0x57Ee6Ceff51CB30Ecb1245934a882c500Fbec1e9</a></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/governance/CompoundVotingMachine.sol">CompoundVotingMachine.sol</a></td></tr><tr><td><a href="broken-reference">ClaimersDistribution</a></td><td></td><td><a href="https://explorer.fuse.io/address/0x1aE4929090258A9D5000D98Cfb8A27174d345834/transactions">0x1aE4929090258A9D5000D98Cfb8A27174d345834</a></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/governance/ClaimersDistribution.sol">ClaimersDistribution.sol</a></td></tr><tr><td><a href="broken-reference">GovernanceStaking</a></td><td></td><td><a href="https://explorer.fuse.io/address/0xB7C3e738224625289C573c54d402E9Be46205546/transactions">0xB7C3e738224625289C573c54d402E9Be46205546</a></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/governance/GovernanceStaking.sol">GovarnanceStaking.sol</a></td></tr><tr><td><a href="broken-reference">Invites</a></td><td></td><td><a href="https://explorer.fuse.io/address/0xCa2F09c3ccFD7aD5cB9276918Bd1868f2b922ea0/transactions">0xCa2F09c3ccFD7aD5cB9276918Bd1868f2b922ea0</a></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/invite/InvitesV1.sol">InvitesV1.sol</a></td></tr><tr><td><a href="broken-reference">ExchangeHelper</a></td><td><a href="https://etherscan.io/address/0x98FA532Dd5C3a6b66fbf370813803192DE4e0abd">0x98FA532Dd5C3a6b66fbf370813803192DE4e0abd</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/reserve/ExchangeHelper.sol">ExchangeHelper.sol</a></td></tr><tr><td><a href="broken-reference">StakersDistribution</a></td><td><a href="https://etherscan.io/address/0x5766cf4b2fdb09d986eb1783d276013c224e28c8">0x5766cf4b2fdb09d986eb1783d276013c224e28c8</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/governance/StakersDistribution.sol">StakersDistribution.sol</a></td></tr><tr><td><a href="broken-reference">UniswapV2SwapHelper</a></td><td><a href="https://etherscan.io/address/0x62305662fA7c4BC442803b940d9192DbDC92D710">0x62305662fA7c4BC442803b940d9192DbDC92D710</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/staking/UniswapV2SwapHelper.sol">UniswapV2SwapHelper.sol</a></td></tr><tr><td><a href="broken-reference">CompoundStakingFactory</a></td><td><a href="https://etherscan.io/address/0x78cc5ab2f0990b5fe58f95baebf8f37879534aeb">0x78cc5ab2f0990b5fe58f95baebf8f37879534aeb</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/staking/compound/CompoundStakingFactory.sol">CompoundStakingFactory.sol</a></td></tr><tr><td><a href="broken-reference">AaveStakingFactory</a></td><td><a href="https://etherscan.io/address/0xf4411c22766947DB2da39Ad534A040b770B51153">0xf4411c22766947DB2da39Ad534A040b770B51153</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/staking/aave/AaveStakingFactory.sol">AaveStakingFactory.sol</a></td></tr><tr><td><a href="broken-reference">BancorFormula</a></td><td><a href="https://etherscan.io/address/0xA049894d5dcaD406b7C827D6dc6A0B58CA4AE73a">0xA049894d5dcaD406b7C827D6dc6A0B58CA4AE73a</a></td><td></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/utils/BancorFormula.sol">BancorFormula.sol</a></td></tr><tr><td><a href="broken-reference">FuseFaucet</a></td><td></td><td><a href="https://explorer.fuse.io/address/0x01ab5966C1d742Ae0CFF7f14cC0F4D85156e83d9/transactions">0x01ab5966C1d742Ae0CFF7f14cC0F4D85156e83d9</a></td><td><a href="https://github.com/GoodDollar/GoodProtocol/blob/master/contracts/fuseFaucet/FuseFaucet.sol">FuseFaucet.sol</a></td></tr></tbody></table>

### Token Bridge Contracts

Bridge contracts were developed by [Fuse](https://fuse.io).

{% hint style="info" %}
Note: for regular users it is recommended to use FuseSwap Bridge in order to avoid losing your tokens ([help](https://docs.fuse.io/fuseswap/bridge-fuse-erc20-tokens)). FuseSwap Bridge: [Mainnet -> Fuse](https://fuseswap.com/#/bridge/0x67C5870b4A41D4Ebef24d2456547A03F1f3e094B) | [Fuse -> Mainnet](https://fuseswap.com/#/bridge/0x495d133B938596C9984d462F007B676bDc57eCEC).
{% endhint %}

Note: for regular users it is recommended to use FuseSwap Bridge in order to avoid losing your tokens ([help](https://docs.fuse.io/fuseswap/bridge-fuse-erc20-tokens)). FuseSwap Bridge: [Mainnet -> Fuse](https://fuseswap.com/#/bridge/0x67C5870b4A41D4Ebef24d2456547A03F1f3e094B) | [Fuse -> Mainnet](https://fuseswap.com/#/bridge/0x495d133B938596C9984d462F007B676bDc57eCEC).

### Bridge Contracts

| Contract                        | Mainnet                                                                                                               | Fuse                                                                                                                      | Source code                                                                                                                                                                   |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ForeignBridge (mainnet -> fuse) | [0xD5D11eE582c8931F336fbcd135e98CEE4DB8CCB0](https://etherscan.io/address/0xD5D11eE582c8931F336fbcd135e98CEE4DB8CCB0) |                                                                                                                           | [ForeignAMBErc677ToErc677.sol](https://github.com/fuseio/tokenbridge-contracts/blob/master/contracts/upgradeable_contracts/amb_erc677_to_erc677/ForeignAMBErc677ToErc677.sol) |
| HomeBridge (fuse -> mainnet)    |                                                                                                                       | [0xD39021DB018E2CAEadb4B2e6717D31550e7918D0](https://explorer.fuse.io/address/0xD39021DB018E2CAEadb4B2e6717D31550e7918D0) | [HomeAMBErc677ToErc677.sol](https://github.com/fuseio/tokenbridge-contracts/blob/master/contracts/upgradeable_contracts/amb_erc677_to_erc677/HomeAMBErc677ToErc677.sol)       |

### DAO Contracts

DAO contracts were developed by [DAOStack](https://daostack.io)

| Contract   | Mainnet                                                                                                               | Fuse                                                                                                                      | Source code                                                                                      |
| ---------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| Controller | [0x95C0d9dCEA1E243ED696F34CAc5e6559C3c128a3](https://etherscan.io/address/0x95C0d9dCEA1E243ED696F34CAc5e6559C3c128a3) | [0xBcE053b99e22158f8B62f4DBFbEdE1f936b2D4e4](https://explorer.fuse.io/address/0xBcE053b99e22158f8B62f4DBFbEdE1f936b2D4e4) | [Controller.sol](http://github.com/daostack/arc/tree/master/contracts/controller/Controller.sol) |
| Avatar     | [0x1ecFD1afb601C406fF0e13c3485f2d75699b6817](https://etherscan.io/address/0x1ecFD1afb601C406fF0e13c3485f2d75699b6817) | [0xf96dADc6D71113F6500e97590760C924dA1eF70e](https://explorer.fuse.io/address/0xf96dADc6D71113F6500e97590760C924dA1eF70e) | [Avatar.sol](http://github.com/daostack/arc/tree/master/contracts/controller/Avatar.sol)         |
