# Contracts

Otterspace's contracts are open sourced and we welcome contributions. Please go to our github repository for more details

* <https://github.com/otterspace-xyz/otterspace-contracts/>

We essentially have 3 upgradable contracts, predominantly using OpenZeppelin libraries

* Raft.sol
* Badges.sol
* SpecDataHolder.sol

For all minting interactions, you only need to use the `Badges.sol` contract

### Supported networks

<table><thead><tr><th width="162">Netrwork</th><th>Address</th><th data-hidden>Contract</th></tr></thead><tbody><tr><td>Optimism</td><td>Raft: <a href="https://optimistic.etherscan.io/address/0xa6773847d3D2c8012C9cF62818b320eE278Ff722">0xa6773847d3D2c8012C9cF62818b320eE278Ff722</a><br>Badges: <a href="https://optimistic.etherscan.io/address/0x7F9279B24D1c36Fa3E517041fdb4E8788dc63D25">0x7F9279B24D1c36Fa3E517041fdb4E8788dc63D25</a><br>SpecDataHolder: <a href="https://optimistic.etherscan.io/address/0x5c0B0B9c94f297f208375212AA70e5F86df6cb1B">0x5c0B0B9c94f297f208375212AA70e5F86df6cb1B</a></td><td>Raft</td></tr><tr><td>Polygon</td><td>Raft: <a href="https://polygonscan.com/address/0xa74caa864A2562999faf38280A3aA3d09c248daA">0xa74caa864A2562999faf38280A3aA3d09c248daA</a><br>Badges: <a href="https://polygonscan.com/address/0x147e0dF40fdD1340C604726c670329c08176F208">0x147e0dF40fdD1340C604726c670329c08176F208</a><br>SpecDataHolder: <a href="https://polygonscan.com/address/0xdb8346eaf8c4a7ef82b17ce7843df8a9d00dc524">0xdB8346EAF8C4A7eF82B17Ce7843dF8A9d00dC524</a></td><td></td></tr><tr><td>Mainnet</td><td>Raft: <a href="https://etherscan.io/address/0x7465dA7E01A5FF3b2b1699EDa9E617A1329C14b8">0x7465dA7E01A5FF3b2b1699EDa9E617A1329C14b8</a><br>Badges: <a href="https://etherscan.io/address/0x4537e34d5044626d72b3da203e7ffe997245947c">0x4537e34D5044626d72b3da203e7ffE997245947C</a><br>SpecDataHolder: <a href="https://etherscan.io/address/0x39DfCa12FCf403aa027aa64C04bCfB5eFF95d402">0x39DfCa12FCf403aa027aa64C04bCfB5eFF95d402</a></td><td></td></tr><tr><td>Goerli</td><td><p>Raft: <a href="https://goerli.etherscan.io/address/0xBb8997048e5F0bFe6C9D6BEe63Ede53BD0236Bb2">0xBb8997048e5F0bFe6C9D6BEe63Ede53BD0236Bb2</a> </p><p>Badges: <a href="https://goerli.etherscan.io/address/0xa6773847d3D2c8012C9cF62818b320eE278Ff722">0xa6773847d3D2c8012C9cF62818b320eE278Ff722</a></p><p>SpecDataHolder: <a href="https://goerli.etherscan.io/address/0xA3716e7794F756e7a22145516FcB87C962576ce4">0xA3716e7794F756e7a22145516FcB87C962576ce4</a></p></td><td></td></tr><tr><td>Optimism Goerli</td><td><p>Raft: <a href="https://goerli-optimism.etherscan.io/address/0xcd31CFCd7b784C5F4f51D4EaC45376bA30F9C3Eb">0xcd31CFCd7b784C5F4f51D4EaC45376bA30F9C3Eb</a></p><p>Badges: <a href="https://goerli-optimism.etherscan.io/address/0x940f3b56fd53028f5d76a9ca335b1a9a6135528a">0x940f3B56FD53028f5d76a9cA335b1a9a6135528A</a></p><p>SpecDataHolder: <a href="https://goerli-optimism.etherscan.io/address/0xbdBF9157BCF6a3f7cE9F7BdcFCa3067727F515F2">0xbdBF9157BCF6a3f7cE9F7BdcFCa3067727F515F2</a></p></td><td></td></tr><tr><td>Sepolia</td><td><p>Raft: <a href="https://sepolia.etherscan.io/address/0xa74caa864A2562999faf38280A3aA3d09c248daA">0xa74caa864A2562999faf38280A3aA3d09c248daA</a></p><p>Badges: <a href="https://sepolia.etherscan.io/address/0x147e0dF40fdD1340C604726c670329c08176F208">0x147e0dF40fdD1340C604726c670329c08176F208</a></p><p>SpecDataHolder: <a href="https://sepolia.etherscan.io/address/0xdB8346EAF8C4A7eF82B17Ce7843dF8A9d00dC524">0xdB8346EAF8C4A7eF82B17Ce7843dF8A9d00dC524</a></p></td><td></td></tr></tbody></table>

### Authorization with a Raft NFT

A Raft token (NFT) is the authorization token needed to create badges withing your account. Please fill out [this](https://forms.otterspace.xyz/get-started) form to apply for a Raft token and one of our team members will contact you ASAP and help you get setup.&#x20;
