Product

Stretch your transaction capacity with our scalable & highly secure platform

SDK.finance offers a highly scalable and fault-tolerant transaction platform to ensure the smooth operation of Betting and Gambling businesses. Our transaction core eliminates the possibility of double-spending or lost transfers.

You can customize our platform to meet your own requirements & integrate any product via our APIs.  The solution is deployed on your infrastructure and you get full access to the source code. Apart from that, we conduct the complete knowledge transfer to your internal team so that it could maintain all the further activities fully autonomously.

Our 10+ years in FinTech development and deep industry know-how make us a proven partner for boosting your Betting and Gambling revenues. 

Why SDK.finance transaction platform?

  • High scalability
  • High performance
  • Fast implementation 
  • Fully customizable
  • Available online & mobile 
  • Ownership of the source code

Business benefits

Focus on growing your business while we take care of technology

Developing a similar product in-house can take up to one year and can result in exorbitant cost. We take care of the heavy technological part so that operators could focus on growth and fan engagement. SDK.finance transaction platform can be launched fast, is fully customizable and highly secure. You can assign and use any virtual or real currency, bonus points, or any other value of account.

Be ahead of the competition with our future-proof platform

Our transaction platform can withstand the highest volumes and ensure high fault tolerance. That means there will be no possibility of double-spending or lost transfers with its eventual consistency model for transactions. Technology changes rapidly and it is critical for us to provide you with the technology which is competitive today and will stay relevant tomorrow. 

Preserve total control and learn from industry experts

Customize our platform to meet your own requirements & integrate any new or existing product via a full set of APIs.  You get the full access to the source code, the solution is deployed on your infrastructure. Apart from that, we conduct the complete knowledge transfer to your internal team so that it could maintain all the further activities fully autonomously. 

Features & Functionality

With our transaction platform, you can assign and use any virtual or real currency, bonus points, or any other value of account. 

Create projects

Projects store customer records and wallets that are linked to one application or focus on one idea. Transactions are available only for wallets within one project.

Account for assets

Create separate wallets for different assets to store their value. From currencies and bonus points to coffee beans and liters, you can account for almost any asset with our transaction platform. 

Manage users

Use the Customer user role to record and monitor your existing users and create wallets for them. Customers own and use wallets assigned to them. You decide how you map customers into your platform. 

Interact with assets using wallets

A wallet stores value, as well as the user’s balance history. Each wallet belongs either to a customer or to you (then it is called a platform wallet). Assign as many wallets to your users as you like. 

Transact value

A transaction is a set of operations (one or more) that must be performed together. When a transaction is performed, operations are performed in the order in which they’re listed.

An operation is a basic atomic action that updates one or two wallet balances. Each operation posts an entry to the ledger of each wallet it affects. An operation can be performed only within a transaction. There are three types of operations:

  • A Transfer moves some value from one wallet to another within the same project.
  • An Issue operation increases a user’s wallet balance by creating value.
  • Redeem decreases one wallet’s balance by eliminating some amount of value.

When all the operations in a set are performed successfully, the whole transaction will be completed. If any single operation fails, all the other operations will be reverted back and the transaction will fail.

Use cases

Learn more about SDK.finance transaction platform with use cases for different user roles:

  • Project owner manages the whole project. After creating an account on the transaction platform’s web application, the project owner can create a project, obtain an API key, and enable transaction functionality using the platform’s UI or APIs. 
  • Customer owns a wallet in the transaction platform. You can use your existing customer database with our platform by adding unique customer IDs. Some APIs can be called by customers using a customer API key. 

Find out more about our APIs: 

Role Use case group Use case ID Use case description
Project owner
Registration and login
UC.PO1 As a project owner, I want to register in the platform
UC.PO2 As a project owner, I want to login into the platform
Project management
UC.PO3 As a project owner, I want to create a new project.
UC.PO4 As a project owner, I want to change the project name
Asset management
UC.PO5 As a project owner, I want to create a new asset
UC.PO6 As a project owner, I want to delete an asset
UC.PO7 As a project owner, I want to view asset details
UC.PO8 As a project owner, I want to get the list of assets for the current project
UC.PO9 As a project owner, I want to change the asset name
Customer management
UC.PO10 As a project owner, I want to create a new customer
UC.PO11 As a project owner, I want to get customer details
UC.PO12 As a project owner, I want to get a list of customers with pagination
UC.PO13 As a project owner, I want to change customer details
UC.PO14 As a project owner, I want to suspend customer
UC.PO15 As a project owner, I want to unsuspend customer
UC.PO16 As a project owner, I want to delete customer
Wallet management
UC.PO17 As a project owner, I want to create a new wallet for customer
UC.PO18 As a project owner, I want to create new platform wallet
UC.PO19 As a project owner, I want to get wallet details
UC.PO20 As a project owner, I want to view customer wallets
UC.PO21 As a project owner, I want to view platform wallets
UC.PO22 As a project owner, I want to change wallet details
UC.PO23 As a project owner, I want to change wallet status
UC.PO24 As a project owner, I want to view operations with specified wallet
Transactions
UC.PO25 As a project owner, I want to create a new transaction
UC.PO26 As a project owner, I want to view transaction details
UC.PO27 As a project owner, I want to get a list of transactions for the specified period with pagination
Customer
Manage customer details
UC.CU1 As a customer, I want to get my details
UC.CU2 As a customer, I want to change my details
Manage customer wallet
UC.CU3 As a customer, I want to get my wallets details
UC.CU4 As a customer, I want to view my wallets
UC.CU5 As a customer, I want to change wallet details
UC.CU6 As a customer, I want to change wallet status
UC.CU7 As a customer, I want to view operations with specified wallet

Integrations

Easily integrate any new or existing product with our transaction platform using a full set of APIs. If you have integrated customer databases with your app or service, you don’t need to copy any information about your customers into our platform. Just create unique IDs for your customers that match information in your database. For your convenience, you can add additional information such as a customer’s name or their description.

 Authenticate your API calls with an Access Key from our web app. Each key is linked to a specific project. Customer Keys are special tokens that enable read-only access to our API from your customers’ devices. With this key, applications can access only the wallets that belong to a specific customer.

Database & servers

Highly robust server architecture

With our cloud infrastructure, you can integrate our transaction platform straight away. This hassle-free approach saves time and money without sacrificing any functionality. We ensure the productivity, stability, and security of our products by choosing only the most stable infrastructure providers who are ready to support production platforms. 

 

Applications server:

OS: Ubuntu 18.04 LTS

Software: Wildfly 10.1.0.Final

 Database:

Separate databases for main operations and viewing transactions provides better, faster access to data.

 Main database:

OS: Ubuntu 18.04 LTS

DB: PostgreSQL – 10.6

Transaction viewer:

OS: Ubuntu 18.04 LTS

DB: MongoDB – 3.0.4

Load balancer and Frontend:

OS: Ubuntu 18.04 LTS

Software: NGINX 1.14.0

Security

Keep your data safe with our strong security measures

Provide a secure experience to your customers with a broad range of verification methods, including two-factor authentication, biometric checks, security notifications, and Strong Customer Authorization for payments. 

Legal and compliance checks can be automatically carried out to prevent fraud through integrations with KYC verification and email risk assessment by Emailage

We follow the latest safety practices and methods during the development process to implement high-security layers at all stages. From the beginning of the source code development to supporting infrastructure in ongoing projects, you can rest easy and focus on your business with SDK.finance.

Each new product version is automatically audited by the OWASP ZAP platform, which allows us to identify and fix any potential infrastructure vulnerabilities in the early stages.

  • All communications and data exchange is done using strong SSL encryption certificates.
  • Source code is checked by active and passive analysis tools such as SonarQube & Lapse +
  • Infrastructure logs, servers, databases, and application servers can be monitored using Logentries or other services like Nagios or Zabbix

Technology

 Scale easily with our highly adaptable technology stack

We handpicked our technological stack to help businesses achieve three things: growth, flexibility, and security. An appropriate work environment is necessary to meet high project standards, software needs, and to ensure a stable project lifecycle. 

Using our extensive experience building high performing products in the Fintech sector, we developed all of our products using only the best tools for the job.  

Programming language

We chose Java Enterprise Edition 7 and Java Standard Edition 8 for their highly stable performance and powerful functionality. Java has a proven track record of fulfilling all software requirements for enterprise-level software as a programming language and technology stack. Java requires developers to clearly formalize the processes and data with which the platform operates. As a result, this strongly typed language ensures stability and minimizes the chance of errors.

Business logic

Best in class tools for Business Process Modeling help us create new features “on business language” first and then implement it in code structure.

 Services

There are numerous external services with which both external and internal platforms interact. The usage of cutting-edge technology of encryption and data validation mechanisms in the interaction provides the security of the transmitted data at all levels of communication. New external service providers can be easily added by creation from the predefined component template for a relevant business process without taking much time.

 Code repository

A lot of specialists from different departments work with project source code. The storage and management functionality of our source code is built on GIT technology, using the GitLab platform, which provides effective management and monitoring of all changes made by each developer.

 Testing and Quality Assurance

Source code for any project must meet the highest quality, stability, and security standards. We automatically check operability and test functions when the project is ready to be deployed. 

Each new addition to source code goes through autotests and is manually reviewed by our lead developer.

Source Code Quality

Our developers use cutting-edge source code development tools supported by best-in-class solutions to create a robust, efficient, and secure code. For passive code analysis, we use UpSource and FindBugs from IntelliJ Idea. For active code analysis, we use SonarQube and Lapse+ tools which are highly recommended by the OWASP community.

 DevOps

The traditional approach to IT project management evolves along with interaction methodologies between platform administrators and developers. We have implemented the best DevOps methodologies to provide continuous integration and continuous delivery for SDK.finance. We build and deploy projects with Jenkins, a highly functional and customizable service. Gathered platform components are versioned and delivered to one or multiple Application Servers.

 Applications server

We use RedHat JBoss application server. The application server meets all requirements for application monitoring, configuration, and scaling.

 Application Monitoring

Complex platforms are distributed on different infrastructure components to ensure continuous and stable operation. Monitoring hardware conditions is the first step to understanding how health the platform is. We use NewRelic, Zabbix and ELK Stack.  

API

Simple integration even with the most complex architecture

RESTful application program interface (API) allows an application to connect to other internal and external platforms securely. Using our RESTful APIs, businesses can build multiple innovative event payment solutions on top of their existing internal architecture. 

We use Swagger, an industry-leading framework, to design, build, and document our flexible APIs. The framework allows us to automatically create and update our interactive API documentation to keep our users up to date. 

Contact us to find out more about our RESTful APIs

Contact Us

How do I authenticate my API calls?

To make API calls, you need to obtain an Access Key. Each Access Key is tied to a specific project and can be created via our web application:

  • Open a project for which you would like to create a key
  • Select “API Keys” in the sidebar
  • Press “Create a new Key Pair” and enter the name of the new key pair

 The newly created Key Pair will consist of two keys: an Access Key and a Signature Key.

Now you can use the Access Key as a BEARER token in your API calls. Put it in the Authorization header.

What is a Key Pair?

A Key Pair is a tool used to authenticate calls to the Cloud Wallet API. It has a name, an ID, and consists of two keys:

  • An Access Key is a GWT-style token that grants your code unrestricted access to the project for which it was created. Use it to authenticate your backend applications.
  • A Signature Key is a tool that you can use to sign Customer Keys.

 A Customer Key is created by your code. It grants read-only access to wallets of a specific customer. You can deliver these keys to a customer’s device so they can check their balances and browse through their wallet histories without the need to contact your backend.

 A Customer Key can be created by parsing an Access Key as GWT, then adding an audience record and resigning the resulting token with your Signature Key.

 Deleting a Key Pair will result in recalling the access for every caller which uses either an Access Key or a Customer Key that was signed with a Signature Key.

 Warning: keep both Access and Signature keys secret.

API Methods
Projects

A project is the first entity you create in our web application at app.walletapi.cloud. Projects store customer records and wallets that are linked to one application or focus on one idea.

Transactions are available only for wallets within one project.

Get project details
Assets

An asset can be anything of value owned by someone, such as virtual or real currencies, bonus points, or metro rides. Inventory items like water bottles, bags of coffee beans, or packets of sugar can also be assets.

Asset amounts are stored in wallets. 

Create an asset

Delete an asset

Get asset details

List project assets

Rename an asset

 

 

Customers

A customer is a record that reflects your existing users and enables you to create wallets for them. Basically, customers own wallets. You decide how you map customers into your platform. People, devices, vehicles, or appliances that contain value can act as customers.

We respect your users’ privacy and only ask you to provide an ID that you can later identify and map back to the user in your platform.

Create a customer

Get customer details

List customers

Update customer details

Suspend a customer

Unsuspend a customer

Delete a customer

 

Wallets

A wallet stores value, as well as the user’s balance history. Each wallet belongs either to a customer or to you (then it is called a platform wallet). Assign as many wallets to your users or devices as you’d like.

The wallet balance can’t dip below zero.

A wallet entry is a record in a wallet ledger about an event.

There are several types of events:

  • Issue records the effect of an issue operation
  • Redeem records redeem operations
  • Debit is posted to the wallet that is on the debit side of a transfer
  • Credit will appear on the credit side of the transfer
Open a wallet for a customer

Open a platform wallet

Get wallet details

List customer’s wallets

List current customer’s own wallets

List platform wallets

Change wallet name

Change wallet description

Change wallet status

List operations in wallet’s ledger

 

Transactions

A transaction is a set of operations (one or more) that must be performed together. When a transaction is performed, operations are performed in the order in which they’re listed.

An operation is a basic atomic action that updates one or two wallet balances. Each operation posts an entry to the ledger of each wallet it affects. An operation can be performed only within a transaction.

There are three types of operations:

  • A Transfer moves some value from one wallet to another within the same project.
  • An Issue operation increases a user’s wallet balance by creating value.
  • Redeem decreases one wallet’s balance by eliminating some amount of value.

When all the operations in a set can be performed successfully, the whole transaction will be completed. If any single operation fails, all the other operations will be reverted back and the transaction will fail.

Initiate a new transaction

Get transaction details

List transactions

How we supply it

We built our transaction platform as a standalone SaaS product which is ready for immediate deployment. Build the best version of your product with our highly reliable infrastructure.

 For further customization and more control over the platform, we can help you deploy the platform on your infrastructure: 

Option 1: In-house team

Have your team handle product development, starting with a comprehensive knowledge transfer. With our educational program, your team members will learn everything there is to know about the platform through a series of lectures and practical tasks. 

Following the knowledge transfer, our specialists will stay in contact with your in-house team for weekly calls or meetings to discuss any possible issues. By the end of this active support period, there shouldn’t be any questions left. After that, our team will provide developer support on demand. 

Option 2: Dedicated SDK.finance team

Let our experts handle product development for you. We can deliver a high-quality result on time by using a hybrid team of dedicated and hourly specialists. With the ability to involve professionals under hourly rates from our shortlist of interviewed candidates, we can ensure an efficient development lifecycle. 

Option 3: Combined team

Get the best of both worlds with a combined team of your in-house professionals and our dedicated specialists. By working alongside, both sides benefit from shared knowledge. With a deeper understanding of your business needs and the platform’s capabilities, a combined team can build a superior solution. 

Pricing

Feel free to contact us to get your pricing offer

Contact Us

Updates & maintenance

Keep your SDK.finance solution future-proof with frequent updates

Updates ensure that your SDK.finance solution works as described and remains protected against major security concerns.

  • Guarantee that new versions of your third party integrations remain compatible with our solutions
  • Minimize dependency on your internal resources to launch and maintain our products
  • Keep the product functioning at full efficiency with our professional maintenance
  • Rest easy while our dedicated professionals monitor and assist with reported bugs and issues

Support

Get the most out of your SDK.finance solution with in-depth product training and support

Our enterprise support is designed for companies ready to move fast and launch production scale products. Release your product in a fraction of the time with our professional guidance and support that features

  • Live chat
  • First-in-line email support
  • Account management
  • Volume discounts
  • Quarterly advice calls
  • Integration and testing support
  • Certification support
  • On-site training/e-learning
  • Go-live support and babysitting
  • Compliance support
  • Onboarding manager
  • Technical onboarding manager
  • Onboarding slack channel