Abstrakt SDK Feature Overview
This section covers the powerful features built into Abstrakt SDK.
We build the most advanced blockchain SDK with performance & security in mind.
- Mnemonics & wallet accounts are encrypted on device with hardware encryption.
- Our system is built with MQTT, a real-time messaging protocol that is on average 20x faster and 50x more efficent than HTTP. See third party benchmarks here: https://flespi.com/blog/http-vs-mqtt-performance-tests.
- Data is available offline. All transaction data sent via MQTT are cached on device. Hence data is always available and fast to access. Additionally, the SDK doesn’t waste bandwidth refetching the same data.
With our SDK you can deliver the best Blockchain User Experience for your users.
A user account is created using a unique identifier generated by oAUTH authentication. Applications can easily on-board users with their existing Facebook/Google/etc logins. You can think of a user account as the parent to all other data. A user account associates users’ public keys with human readable names, keeps track of a users’ contacts and stores metadata (name, email, avatar, phone number). Mnemonics/Private keys are never stored or transmitted to Abstrakt. Mnemonics are securely generated by the client side SDK and are backed up by the user. Mnemonics can be imported by the user as well. Users can create unlimited ‘Wallet Accounts’ of any supported blockchain from their mnemonic. When a user is deleted from the device, the SDK deletes all user data including accounts, mnemonic, private keys, cached transaction information.
A ‘wallet account’ is a single public + private key pair & associated metadata. An account is ‘named’ by user on creation. Conceptually, you can think of this as a child object of a User Account, because each account is associated with a User.
A shared account is a wallet account that is shared by a user to another user via a ‘connection’. Only the public key & nickname is shared with the other user. Private keys always remain encrypted on the user’s device. Shared accounts allow users to transact with each other without external communication of public addresses which is error prone, insecure, and unacceptable UX.
Connections are basically ‘friends’. Connections can be sent, received, accepted, denied and removed. Flow: User searches for another user by querying a name, email using the SDK. Next, the user sends a connection request to the userId found. The otherUser can choose to accept or decline the connection. Finally the users can share accounts and begin transacting. Note that users include: peers, businesses, merchants etc. - anyone integrating with Abstrakt.
The SDK provides real-time market data for all supported blockchains in USD. Application developers don’t have to worry about other data sources. More currencies denominations will be added. (EUR, KRW etc.)
Abstrakt provides rich transaction data from all supported blockchains. When a user adds a wallet account, all historical transactions associated with that account will be sent to the user. Smart contract data is coming soon.