Okto 🛠Embedded wallet SDK for Dummies
ETHGlobal·Wed, Oct 9, 2024, 12:00 AM
Join the Okto Team for workshop titled, "Embedded wallet SDK for Dummies" Embark on a journey with ETHIndia, where innovation thrives, collaboration knows no bounds, and hierarchies fade into self-sovereign ownership. The most skilled web3 developers, designers and product builders from all around the globe came together for a weekend-long adventure to advance the Ethereum ecosystem at ETHIndia in December of 2023! ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.co​m Email us at: hello@ethglobal.com
Transcript
[Music] hello welcome everyone this is the first time I'm doing this kind of a communication seems interesting and funny uh but it's nice it's nice can you hear me yeah all right great so let's start have you uh Oto we started Oto and building Oto as a product uh it's a it's mainly a wallet product and we started developing this around a year back and in last one year roughly roughly 50 Engineers have put in their hard work to make this happen and uh and and right now we are India's India's leading wallet and we are expanding globally at a rapid Pace octo uh we are uh coin dcx is India's largest centralized exchange and octo is a part of the uh the organization the coin dcx and uh yesterday we announced octo wallet SDK which and put it in the alpha phasee and uh today we are doing a hackathon so lot of pressure on the developers it's uh uh you know it's very tight schedule the developers have been awake since last few nights but it's going great uh you know so let me just cover you know the the let me just cover what are the current challenges in the wallet ecosystem and how are we addressing them the uh you know the wallet of course is a gateway to to the entire blockchain ecosystem the CI exchanges on the one hand give you exposure to the asset classes and let people invest in crypto uh but if you want to use blockchain based applications then uh then then you know then the only way is to have a wallet and and access the the the spart contracts via VIA the wallets now uh it's also a fact that most of the customers access Internet by with their mobile phones and on the mobile applications mobile apps so so blockchain based applications also will be accessed via the mobile apps currently most of the dabs we see are on the web browser but that's not how most of the people billions of people uh whom the industry as an industry we are going to onboard that's not how they will use it most of the blockchain applications will be used Via mobile apps that's that's the future that has how we have seen the evolution of Internet itself first it started with mobile uh started with web browsers but now it's all mobile apps so oto's mission is also to enable that you know adoption of blockchain on the mobile apps so with that that in mind you know uh when you develop a uh a blockchain based dap on the mobile app it is currently with the current technology stack it's almost almost impossible because you have to go VI the connect wallet route anything any dap uh uh you know that I am using I always uh if I have metamask as as a wallet I I have to go and connect wallet and then anytime I perform a transaction it goes back to my metamask and then I have to click on sign first approve and then sign then I'll go again back you know back to my main application and 50% of the time it just fails so it's a huge bottom leg for the mass adoption with octo wallet SDK this goes away you just add the SDK on the wallet uh on on on the mobile app and this signing you know just becomes a click off a button right then and there within your application and there is no hops involved so that is a breakthrough which we have achieved using two technologies account abstraction with which we create session keys and that is how we deliver this value and second is multiparty computation which we use for the private key management and its security so octo SDK is the way for Mass adoption in India and otherwise and most of the companies most of the companies will end up using this kind of a product if they want to build on top of blockchain moving on so I have covered all of these now as a as a developer if you are using an SDK you know the one of the important things is once the customer start uh interacts with the SDK once the customer interacts with the wallet what are the how is the customer funnel happening you know as a company if I'm in if I'm adding any hdk in my app I need to understand the customer behavior when the customers are interacting with that SDK it's super important for example we added a payment Gateway now customer goes on the payment Gateway screen now how many people dropped on the first screen of payment Gateway how many people dropped on the kyc screen how many people were you know completed the payment Gateway and and all of these things as a company if I'm adding any SDK into into my app I need to know all of these stats you know so that's one of the problems that we have solved if anyone integrates octo wallet SDK then uh this uh you know you uh you have a complete visibility of how the customer is behaving when interacting with the Octo wallet so that's that's you know and uh of course and then there are lot of things like quests and reward centers so it's a package I'll not go in details uh into details of everything but this is one of the you know key highlights when it comes to customer experience and uh uh for developers currently it takes 2 months to add a such a powerful wallet you know on on any on the any mobile application with Oto we have tried that any any mobile application can can connect to blockchain and have a wallet within just a day so it requires just a one developer and any any company can become web 3 from web 2 to web 3 in a matter of just one day that's a huge uh value proposition and uh you know it this alone is a it reduces the barrier you know for the entire internet based economy to start using the power of blockchain and and when you reduce this entry barrier you know uh this this becomes a very powerful thing so that's what uh we have we have done for developers and there are uh entire suit of products like cross chain Bridges trading apis and uh and so and so forth so I'll I'll now uh now hand over to Assad for going into some more technical details of of how to implement uh the the SDK within within the mobile app so thank you so much uh thank you nas uh let me just this was basically our product in terms of overall what OCT GK is going to give uh for developers and for the users uh when we talk about the world octo text stack is briefly divided into multiple layers uh one is a security layer one is a wallet layer and the one is interaction layer the interaction layer basically enables you to do all the interactions and abstracts out the details of cross chain liquidity aggregation bridging pay Master gas list or any economics interaction any interaction that happens on o sgk goes through a risk layer which basically gives multiactor authentication and custom validation in terms of smart contract wallets so that uh it's we basically Safeguard the user from any malicious activity and as a wallet layer itself which sits on tops of all non evm and evm gen the architecture is pretty simple the adaps will be interacting with oo platform uh we are giving opto sgk in Android as of now uh by tomorrow morning we'll be also launching our web apis as well and internally the platform interacts with the account obstruction wallet to which the primary oo wallet or the oo app will be also interacting with let me just briefly go down into uh the integrities of the SDK itself so we have a doc uh documentation available in docs. do. Tech it gives you a basic starting guidelines of how you can start and integrate your wallet in less than a 10 minutes for any developer who is building on top of it we have also given a sample app uh sample application on our GitHub account as well which is also mentioned on the documents itself so for to start off with what you have to do is you have to basically integrate your M and repos this is BAS this is interacting with our internal uh packages where that we have built the binaries we have hosted on GitHub you can directly look uh use our credentials that we have given or you can even create your own access token using uh GitHub developer profiles and it will allow you to interact with our packages uh the dependencies that you you have to add two dependencies one is a flutter dependency on your Android app the other one is a base octo wall directly uh if your app is already using a flutter activity which is uh anything that flutter app will open on top of your Android app you you can add that activity you can skip this part otherwise you can add this activity in your Android manifest and it will basically make you make your wallet work now when we talk about OCT wallet itself it is bunch of classes that you to use the base class is octo wallet you can initialize the Octo wallet using your API key in order for you to get the API key you can there's a type form in the docu uh the docs you can request uh API key in the docs and we'll uh send you to overie on mail or Discord uh once you have initialized your oo wallet uh next you have to do is authenticate so the first factor of authentication that you're using in Octo wallet is Google Au so when your user will be using signin with Google they will be getting ID token in return um you can use that ID token pass that ID token directly to to authenticate in our sample app we have already given you an activity which uh which enables you to directly use Google login if you have your own version of Google login you can directly use that pass ID token to the wallet and this will basically create an octo wallet for your user on our servers an account abstraction world will be created on polygon testnet and the result basically an address of the wallet address will be return returned on which you can interact with uh the basic call that we have given as of now is transfer funds and the get portfolio transfer funds allows you to transfer any erc20 or native token from uh your users to a recipient wallet without any need of signing because it is being managed internally by the oo wallet and the platform uh you can get the portfolio details using the get portfolio endpoint you will get entire nft portfolio and the token portfolio of the users including the INR values for the user uh in order for you to help in oo to ID token verification we have given you the steps as well that you can use uh it's step is pretty simple uh you just need to go to your um dashboard the Google dashboard and there you will be getting an ID to in return and basically this is the basic U dashboard you exchange ID token and you will be getting an ID token you can use that directly in your app itself uh this is the Octo wallet uh I'll just briefly walk you through over the uh app itself uh which is available at open source application uh what we are basically doing is we are initializing opto wallet in the main application initial initiation once it is initiated uh the main activity is where you can start adding your functionality you can start adding your ux on top of it and this is internally basically calling all the functionalities uh first one is ID token you can if you have if for the sake of hackathon uh if you're not able to login or you're not able to initiate uh sign with Google what you can do is you can you can go to your developer profile get ID token hardcode the ID token here or maybe take it as an input from the user itself and just bypass the authentication flow and you can directly use the wallet SDK uh once you have authenticated the SDK it creates a wallet and if an wallet already exists it will return the address itself post that we have added multiple functionalities these are buttons that you can use on top of it uh which uh utilize which basically gives you an idea about what functionality the Octo has one that I have already discussed is transfer funds you need to basically give the token address on which you want to which erc20 or native you're interacting with for Native you can just leave it as empty we'll take it as native value and you can give the recipient address as well as a quantity in decimals 0.1 you don't have to worry about way of Goa conversion and we will return your job ID and which internally manages publishes a job manages a transaction if it drops we retry it again and once everything is completed we will give you the complete transaction hash uh in your job status API we are also giving you raw transaction API which will allow you to uh interact with any other dap or any nft any dap that you are yourself building uh you using the SDK so as any evm transaction goes you just need to pass on two data value fields and using those uh values you will be able to interact with the Octo wallet on polyon Mumbai on any dap that is possible same life cycle grows same life cycle goes you will get a job ID you can monitor the status get a transaction hash in return and that's it as you can see you don't have to interact with any apis regarding your portfolio any RPC end points you TR to interact with any third party tools like uh account or account abstraction Builders or libraries it's pretty for straightforward six API six SG calls and you'll be able to do all the interaction that is possible uh this is the Octo SDK uh in general uh we will be also giving you the Octo SDK epis this interally is calling an API there's nothing uh SD is just a rapper over it by tomorrow morning you'll be having apas as well so if you're building on web apps you can directly use it uh one of our participants as Nas also mentioned that we are in Alpha stage right now and we are very closely working with the Debs to make it happen we are given two track price for the problem statement the first track price is uh building a full-fledged daap uh which has good ux good uh user based good user strategy as well what they want to engage users with and for them what we are expecting is they are able to interact they're able to create a wallet they're able to perform basic token transfer and they are able to host a app and also interact with it using the raw transaction end point basically utilizing the whole full-fledged web3 experience for people who are beginners they are just starting out what they can use is they can basically for the second track price they can use the creation of wallet and basic token transfer in point to even make a good web 2.5 dap that exists out there um if you want web guys we will be also building up on top ofps and the we'll be also giving sponsorship transactions so you don't have to worry about gas even in testnet we have sponsored Gas payment so your transaction will go through even if the user does not have any Matic so that's it uh people with octo t-shirt will be roaming around the entire hackathon and our devs are actively working with you guys alongside if you have any difficulties any issues you can uh reach out to USS 24/7 and we'll be working on top of it and resolving it as we go thank you guys if you have any doubts we can have Q&A
Automatic transcript — names and jargon may be misspelled.