Managing company expenses by various team members is challenging Passing funds to each team members is time consuming and inefficient process.

Technical inspiration: EIP-1484

What it does

  • Create Treasury Account operated by the Wallet (both based on smart contracts)
  • Add funds to the Treasury account
  • Assign Multiple Users to wallet
  • Define Conditions to wallet for each Users
  • Users can execute payments from the treasury account without having assets on their private account

How we built it

We created resolvers smart contracts - Wallet, EmplyeeResolver and CompanyResolver and created frontend application with proper logic and flow using Angular and web3.js.

Challenges we ran into

One of the strong points of this project is the usage of Swarm to store off-chain data. We were trying to use one of their latest features - feeds, to optimize the costs of storing a reference to Swarm on-chain, but unfortunately, it did not succeed. Their HTTP API was not working as intended, so we just used a regular upload download functionality.

Accomplishments that we're proud of

We believe that the architecture of our solution is something we can be proud of. It's very scalable, flexible and can cover multiple problems, which users and companies are facing.

Another thing is user experience and ease of onboarding process - thanks to ENS, new users/employees don't have to struggle with public keys.

Also with our solution running an audit is a piece of cake.

What we learned

New EIP is working correctly and it can be a good foundation for many ideas, some of the new functions of the latest web3.js release, Ganache UI and we improved our solidity skills

What's next for Treasure1

  • Implement time access limits and deployment of new wallets.
  • Usage of Swarm feeds for transactions for a small costs optimization
  • Refunds to relayer in tokens
  • Global market adoption : )

Built With

Share this project: