> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Maker (maker)

> Decentralized credit protocol behind DAI and USDS stablecoins. Users deposit collateral into Vaults to mint/borrow DAI.

Decentralized credit protocol behind DAI and USDS stablecoins. Users deposit collateral into Vaults to mint/borrow DAI. Includes the DAI Savings Rate (DSR) via sDAI.

| Fact | Value |
| - | - |
| Category | CDPs and stablecoins |
| Family | none |
| Namespace | `Maker` on ethereum |
| Chains | ethereum |

## What it offers

* **depositToSDAI**: Deposit DAI into Savings DAI vault (ERC-4626)
* **withdrawFromSDAI**: Withdraw DAI from sDAI vault by asset amount
* **redeemFromSDAI**: Redeem sDAI shares for DAI

## Notes

* sDAI earns DSR yield (ERC-4626 compliant)
* DSR yield accrues automatically - sDAI appreciates against DAI over time
* Approve DAI to sDAI contract before depositing
* Pot is the internal DSR accumulator - chi() tracks the accumulated rate
* USDS is the rebranded DAI stablecoin

## Its names in a program

On Ethereum, `Maker` is a namespace: its contracts need no import.

```ts theme={null}
function main() {
  // Ethereum's dai, `0x6B175474E89094C44Da98b954EedeAC495271d0F`.
  require(Maker.Dai != 0);
}
```

## Deployments

| Chain | Contract | Address | In a program |
| - | - | - | - |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | dai | `0x6B175474E89094C44Da98b954EedeAC495271d0F` | `Maker.Dai` |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | pot | `0x197E90f9FAD81970bA7976f33CbD77088E5D7cf7` | `Maker.Pot` |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | sDAI | `0x83F20F44975D03b1b09e64809B757c47f942BEeA` | `Maker.SDAI` |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | usds | `0xdC035D45d973E3EC169d2276DDab16f1e407384F` | `Maker.Usds` |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | vat | `0x35D1b3F3D7966A1DFe207aa4514C12a259A0492B` | `Maker.Vat` |

## ABI

### `PotABI`

`import PotABI from "./protocols/maker/PotABI.json";` Speaks for: pot.

* `join(uint256 wad)`
* `exit(uint256 wad)`
* `chi() view returns (uint256)`
* `dsr() view returns (uint256)`

### `SavingsDaiABI`

`import SavingsDaiABI from "./protocols/maker/SavingsDaiABI.json";` Speaks for: sDAI.

* `deposit(uint256 assets, address receiver) returns (uint256 shares)`
* `withdraw(uint256 assets, address receiver, address owner) returns (uint256 shares)`
* `redeem(uint256 shares, address receiver, address owner) returns (uint256 assets)`
* `convertToShares(uint256 assets) view returns (uint256)`
* `convertToAssets(uint256 shares) view returns (uint256)`

## Next steps

* [Protocols](https://docs.eco.com/sauce-sdk/reference/protocols.md): the other protocols, by what they do.
* [Protocols and tokens](https://docs.eco.com/sauce/names.md): calling a contract by its namespace, or through its ABI.
* [Glossary](https://docs.eco.com/sauce/glossary.md): the words these pages use, in plain terms.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.