Smart contract "Bank accounts"
paskals opened this issue · comments
Create a dApp where users can create their own smart contract-based bank accounts
There will be several advantages to using such accounts:
Overview
-
You can authorize several addresses (your metamask, your mobile browser/wallet, your mom's, etc) to spend ETH or tokens from the main smart contract bank account
-
You can set friends or relatives' addresses who would be able to retrieve the funds inside after a certain period of inactivity (if something would happen to you)
-
Spending limits can be set, so even if someone steals one of your private accounts, they shouldn't be able to drain your whole bank account
-
much more
Philosophy
I've had this idea for a while now - we know multisig accounts with daily limits exist already, but I believe they can be made more versatile and user-friendly. Not every transaction needs to be multi-approved, and there should be an expiring period on an account which holds a lot of funds, such that someone can inherit it.
Next steps
This is currently just an idea in my head - I have experience with Solidity and a little web3js, so ideally I would benefit from some front-end help. I want this to be an intuitive and easy to use dApp where people would easily be able to manage their ETH and tokens and how they can be spent. My accounting contract base will be a good starting point.
I believe this project best aligns with Swarm City.
Contact info:
Github: @paradoxdao
Medium: PaskalS
I would definitely put a lot of emphasis on user research; the idea of a smart wallet/bank alone is good, but as much as possible focus on what people would actually use with what basically boils down to a one person smart wallet? I definitely think that having a spending and checking account are huge features. Also look to software like mint, and simple. Look at what features are being developed in the web2 space and think about which ones make sense to port etc. Transaction tagging and budget management seems like a good one. I also think a lot of this will come down to UI/UX so finding someone who likes that stuff will be key.
The main selling point will be: being able to access your funds even if someone stole your wallet, in addition to your family/friends being able to access your funds after a period of inactivity.
You don't lose your entire bank account balance when you lose your ATM card, so this is the analog with smart contracts. ATM cards in this case are different wallets you authorize
This is actually really interesting, something that is much needed for adoption and safety in the crypto space. We don't want anymore Matthew Mellon situations happening !
Take a peak @kikipluche and see what you think!
yep, like the idea. Reminds me of a little experiment we did, with giving an allowance to your kid, where a smart contract gives the kid the possibility to make a monthly withdrawl for a certain amount.
@paradoxdao I've had a similar idea and I really like it. I would be willing to be on the team and help on the front-end side of things. I don't have much time though (doing EIP0 signalling site and Aragon planning tab), so I'll help when I got spare time. Anywhere else where you can be contacted? You can reach out to me on Riot at deam:matrix.org
EDIT:
Btw Gnosis are doing some of the same thing. https://github.com/gnosis/safe-contracts
@deamme You can definitely help if this proposal is approved! I have a little more time, so I will try to make your life easier by defining the requirements as well as possible. It's good to know that there are standards in place - I will definitely look into what others have done before starting work on this ☺
@paradoxdao Your project has been approved. You want to fork off of the accounting repo or you want a whole new repo to work in?
@deamme I didn't notice that it was approved! I will start a new repo and include the accounting one as a submodule. I will start with an empty truffle project.
Project repo started here: https://github.com/paradoxDAO/smart-bank
@paradoxdao The project needs to be in this organization
EDIT:
We can also work in your repo and push changes to the repo created in this org now and then
@deamme Yeah, it wasn't really clear to me. Is work only supposed to start after the 7th of August?
@paradoxdao No work can be started now. Submissions will end around 7th August. Btw is there a better way to reach out to you other than Github issues?
@deamme Do you use Keybase? WhatsApp? Messenger? Anything else? I've followed you on Twitter (Paskal S) - get in touch there so we can figure it out via DM.
Hey @paradoxdao I would like to invite you to the first call of the hackathon, would you send me a quick email here YalorTackson@gmail.com also you can add yourself to the event here
Hi @paradoxdao, this is very similar in the thinking we at @aragon have for certain types of DAOs, where a single entity/person can be running a (Aragon) based DAO but hold multiple keys on different devices/systems for access to the funds held in that DAO. So seems very similar to the thinking you have here.
Hey @paradoxdao your mentor for the #Blockternship is going to be @deamme from @Blockternship/giveth you can reach him here https://riot.im/app/#/room/#blockternship:matrix.org
@Smokyish yes, we're finding out that a lot of the ideas already exist here and there (most of the functionality we want is just a multisig wallet), but it will be up to us putting it all together and making a good UI (there's also lots of potential for features which might be out of scope for now). Where can I find out about the aragon implementation of this specific feature?
@YalorMewn - yep, we've already started coordinating some of the work to do :)
Current balance: 0.0 ETH
Tokens: DAI: 115.00
Contract address: 0x9ea3e9b1793428b74e12675f9239748cf7b9252b
Network: Mainnet
To claim this bounty sign up at https://openbounty.status.im and make sure to update your Ethereum address in My Payment Details
so that the bounty is correctly allocated.
To fund it, send ETH or ERC20/ERC223 tokens to the contract address.
Your bounty has been funded, keep up the good work guys https://etherscan.io/tx/0x1c0bd6202e035529dceb269859cac623175543ab2381c51efeb730095faf6535
Thanks for participating, don't forget to collect you bounty !
@paskals - Your funds have been rescued from status bounties. Please contact me via Giveth on Riot, Telegram, Discord, or answer here with an ethereum address I can disperse the funds to.