Kin SDK Roadmap

A Public Roadmap for Kin Developer Tools

Kik Engineering
Kin Blog
4 min readJun 12, 2020

--

Introduction

The scope of this document is to outline the milestones that will be released in the upcoming months. Each section will contain a brief overview of the changes and features, along with who should and should not be adopting each milestone. Technical details and specifics of each milestone will not be covered here. Instead, they will be released with their respective milestones.

Milestone 1 (Foundation)

Milestone 1 is the first release of the new SDK with both an improved API for developers as well as a drop-in replacement interface for the ‘self-serve’ SDK. This milestone is the first step for developers to migrate to the new SDK and does not require them to make changes to their apps or backend. Its primary motivation is to start getting developers accustomed to the new SDKs while providing some breadcrumbs of new functionality such as payment history, optional batched payments, and transaction queuing.

This milestone is intended for developers who are currently using the self-serve SDKs. It is not intended for developers who have not implemented Kin before or developers who rely on the Marketplace/Ecosystem SDKs.

Milestone 2 (Agora)

This milestone introduces Agora, a blockchain-agnostic service ‘frontend’ that will be the primary endpoint both the client and server SDKs communicate with. This decoupling of the clients to the blockchain will allow a more seamless migration later on. There will be a ‘community’-hosted version of Agora, but developers can also run their own instances (much like how Horizon can be run for the Stellar-based kin2/kin3).

Agora introduces some new features and changes:

  1. A higher-order abstraction for payments via ‘Invoices’, which provides more meaningful data when sending, validating, and resolving history for all payment types. This should allow wallet-type applications to render history more akin to your bank statement, rather than just raw amounts.
  2. A new Memo format; which allows the use of trusted off-chain payment-related data. This critically addresses the limitation of how much “extra data” can be attached to a transaction (currently limited to 32 bytes). This is achieved by (optionally) submitting an Invoice alongside a transaction, and having the hash of the Invoice be part of the Memo.
  3. Configurable webhooks for apps to validate transactions before submission to the blockchain, as well as generating notifications when transactions complete.

Lightweight server SDKs will be introduced that are intended to replace the current ‘bootstrap’ services. They will support submitting of batched payments, as well as the handling of Agora webhooks to whitelist transactions. The server SDK APIs are intended to be as blockchain-agnostic as possible to help facilitate the migration to Solana later.

In this milestone, the update to the client SDK includes multiple improvements to infrastructure and quality of life, such as being able to replace Horizon transaction submission with Agora (providing access to Invoices, the new Memo format, and configurable webhooks) and also a set of standardized Kin UI components, which helps enable apps to build more consistent Kin experiences.

This milestone is intended for developers who have used the self-serve SDK or Milestone 1, as well as those who are new to Kin. It is not intended for developers who rely on the Marketplace/Ecosystem SDKs.

Milestone 3 (Kin Ecosystem)

This milestone is intended to address the gap in functionality for existing partners using the Marketplace service, while simultaneously providing client-side modules and example services that can be used by the broader ecosystem.

On the server side, an example earn service will be released that developers can run. On the client side, the modules that support the marketplace (which offers a central source of earns & spends, backup & restore functionality, and payment history) will be available for use by anyone, whereas today they can only be used by the Marketplace partners.

In order to facilitate the small set of Marketplace partners migrating to the new SDK, a managed version of the Earn Service will be hosted exclusively for these partners. Custom earns will not be supported in the hosted version. Additionally, new partners will not be given access to the managed version.

This milestone is intended for everyone.

Proposed: Milestone 4 (Proposed)

This milestone would add support for interacting with the Solana blockchain. The majority of the changes would be internal to the SDKs and Agora, and the API surface is intended to have minimal to no changes. Any unforeseen changes to the public api would be communicated well in advance of migration to give all parties a fair opportunity to test and deploy changes. There would be releases for both the Client and Server SDKs.

This milestone would be intended for everyone.

Notes on Fees

A subsidy program is intended to pay for end user fees for transactions that are submitted through the ‘community’ hosted Agora instance. This program will be detailed in a future document.

Looking Ahead

While previous milestones concentrate on quality, changes in blockchain technology, and providing a better quality of life for developers creating Kin experiences, the next major focus is on fulfilling a longstanding promise to connect the Kin Ecosystem.

This includes, but will not be limited to, building technology for the purposes of:

  1. Enabling users of mobile apps and websites to “Pay with Kin”
  2. Making it easy to move Kin between Kin-enabled apps
  3. Finding, promoting, and rewarding the best places to earn and spend kin

These future releases are currently in an active design phase and exact implementation details are subject to change.

To stay up to date with the latest developments in the Kin Ecosystem, follow us at: https://twitter.com/kin_ecosystem

--

--