Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time
Feb 15, 2021
Dec 2, 2018
Mar 11, 2017
Mar 11, 2017
Nov 3, 2017
Mar 11, 2017


DSAuth-protected ERC20 token vault

A vault is useful any time you need to segregate token holdings into several distinct buckets, or when you want to set up a shared account, perhaps owned by a ds-multisig.

A DSMultiVault is able to hold any number of different ERC20 tokens.

A DSVault is bound to a single token. It is useful as a handle on the token that the system can pass around without also needing to transfer the tokens themselves, or passing a Multivault/Token pair.

Vaults are protected by ds-auth which means they support sophisticated access control out of the box.

Whoever owns or controls a DSVault can tell it to perform token operations, such as transferring X amount of token Y to account Z, or even(provided the vault has the necessary approval) transferring X amount of token Y from account W to account Z.

Anyone is free to make deposits to a vault by simply transferring tokens directly into it using the a transfer function. The owner of a vault can also ask the vault to perform the transfer.

Vaults are very staightforward to understand and think about, and can be a useful building block in many different kinds of applications.