# casper-js-sdk v3 roadmap sketch
## Main goal
Current [SDK](https://www.npmjs.com/package/casper-js-sdk) is pretty popular library and have a lot of users.
But there is a lot of overenginereed parts that makes end-user confused. We already identified some of them, so v3 should be a good improvement for the end-users (even considering it will contain breaking changes).
We decided to do a rewrite from scratch, as the current version depends on many outdated dependencies and some of the user-facing APIs are not good designed.
So the main goal is simplify the whole library and made it a gold standard for other SDKs.
It might be good idea to spend a little bit of time with competitive SDKs, as I already saw some good ideas that we can adapt. Also, it can be easier to switch for new users that are used to different blockchains world - and I don't mean to "act" or "lie" thats we're the same as Etherium, more that we can make it more familiar and compliant with the industry standards.
## Priorities list
- use native JS types (where possible) and translate them toBytes/fromBytes on the fly (eg currently there is CLList which mimics CLValue list etc).
TODO: provide a list of types that can me replaced with the native ones.
- design the developer facing SDK API
- do an SDK API comparsion / review (timeboxed)
- review web3.js
- review NEAR.js
- review Solana's web3.js
- sketch the top level API and share it both internally and with community (eg MAKE feedback can be very valuable here)
- keep the low level methods so more advanced users can achive whatever they want (eg users can build the deploy in multiple steps)
- for convenience, design the high level helper methods that builds transfer or entrypoint calling deploys
- design the contract's JSON description so it can be consumed by the SDK to generate the lightweight contract client
- list the most popular methods that operates on the keys and add key helpers methods