Only this pageAll pages
Powered by GitBook
1 of 40

Documentation

Loading...

Loading...

Loading...

Security

Loading...

Loading...

Use Cases

Loading...

Loading...

Loading...

Loading...

Platform

Loading...

Loading...

Crypto <> FIAT

Loading...

Loading...

Loading...

Loading...

GUIDES

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

WHAT WE SUPPORT

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

What is inabit?

Read our documentation and get up to speed on how to access our API capabilities.

inabit is a Crypto Finance Control Center designed to simplify the management of digital assets and streamline crypto-to-fiat transactions. Built with cutting-edge technology, inabit provides businesses and individuals with the tools they need to seamlessly manage, transfer, and convert cryptocurrencies while ensuring security, compliance, and efficiency.

Why Choose inabit?

  • Comprehensive Crypto-to-Fiat Services inabit acts as an aggregator for on-and-off ramp services, offering the best rates across multiple providers based on your region and currency. Easily convert cryptocurrencies like USDT to fiat currencies and transfer funds directly to bank accounts.

  • Secure Digital Asset Management Our platform ensures your assets remain safe with robust encryption and security measures. With features like WalletConnect integration, you can connect your wallet to any dApp while maintaining security and control.

  • Customizable API for Seamless Integration Access inabit’s powerful API to integrate our services into your existing infrastructure. From crypto payments to user authentication, our API supports a variety of use cases and scales with your business needs.

  • Innovative Features

    • Gas Wallet: Purchase blockchain gas fees with a credit card when funds are low.

    • Replace Account Owner: Change account ownership seamlessly.

    • KYB-Verified Transactions: Fast and compliant fund transfers after Know Your Business (KYB) verification.

Who is inabit For?

inabit is designed for businesses and individuals who require secure, efficient, and compliant solutions for managing digital assets and fiat transactions. Whether you're a crypto exchange, a fintech startup, or an individual user, inabit provides the tools to make crypto transactions simple and reliable.

Key Benefits

  • Speed: Instant transactions and fund transfers.

  • Scalability: Built to handle large volumes of transactions with ease.

  • Compliance: Adheres to regulatory standards for crypto and fiat transactions.

Use Cases

  • Automating crypto-to-fiat payments for businesses.

  • Managing multi-chain assets through a unified platform.

  • Offering end users secure and simple on-and-off ramp solutions.

Use Cases

Introduction

Read our documentation and get up to speed on how to access our API capabilities.

Documentation Overview

Welcome to the inabit Developer Portal!

Here, you'll find everything you need to start using our API and seamlessly integrate it into your existing solutions. Our comprehensive API reference, code libraries, and tutorials are designed to help you get up and running quickly while also enabling you to build advanced features with ease.


Explore & Learn

Discover inabit’s platform, features, and cutting-edge security technology. Whether you're setting up test or production environments, these guides will walk you through the essentials to ensure a smooth start. When you're ready, head over to the Quick Start section to make your first request.


Need Help?

If you have questions or suggestions, our support team is here for you: [email protected].

Cover

Quick Start Learn the basics and send your first request.

Cover

API Reference Explore all API endpoints and details.

Cover

Use Cases

See how others utilize inabit's API.

Wallets Policy Guide

Overview

Creating strong policy rules is a vital step in maintaining control over your transaction outflows. Owner and admin can set the policies rules, such as whitelisting addresses to prevent unauthorized transactions and setting spending limits for both the entire wallet and individual transactions.

Only approvers are allowed to edit/change a wallet's policy. (both tiers & settings)

Who's an Approver?

An approver is a platform user with signing permissions that successfully paired their device. Applicable approver roles: (signer, admin, owner)

Wallet Policy Settings

Our governance layer which we call "Transaction Policy", is defined per wallet, meaning each wallet can have its own custom policy settings.

The organization owner and his admins are the ones allowed to edit/change a wallet's policy settings.

Do note that every change in a wallet's policy setting will require the owner's approval via the mobile application.

You can view the list of wallets and their policies in the Policy tab.

Clicking on a wallet from the list will open the tiers tab first by default, you can then switch to the "Wallet Settings" tab.

Currently, there are two settings that can be changed within a wallet's policy:

  • Allowance to send funds exclusively to saved addresses that the user defines.

  • Allowance to perform off-ramp transfers from the wallet.

Set Whitelisted Addresses

This policy setting is selected by default and allows you to send a wallet's funds to specific addresses that are saved (whitelisted) within the dedicated whitelist addresses list.

You can add/remove saved addresses directly through the wallet policy settings interface, as well as decide if you'd like to disable this setting (by toggling off the button).

Allow Off Ramp Transfers

This policy setting is also selected by default and defines wether the wallet's funds can be used for off ramp transfers or not.

Reminder - Each change made on the wallet settings / policy tiers will require the account's owner mobile approval.

Wallet Policy Tiers

Wallet policy tiers are essentially an advanced policy setting that can be enabled on a wallet to apply an additional layer of security to govern your wallets assets.

There are three fields you can set according to your liking in a policy tier:

  1. Transaction amount range.

  2. Dedicated transaction approvers.

  3. Minimum amount of approvals. (Taken from the dedicated transaction approvers)

Note that changing a wallet's policy tiers can only be done by a signer or above. (applicable approver - Signer/Admin/Owner).

In addition, any change on the policy will require the account's owner mobile approval.

Default Policy Tier

The default policy tier is essentially the default transaction policy set upon creation of an inabit wallet. There's a difference between the default policy tier of a standard inabit wallet and an API wallet.

Here's a table explaining the differences:

Wallet Type
Default Setting

Do note that the policy default tier cannot be removed, but can be changed. You can still decide on the approvers and the minimum required approvals of a policy rule.

Removing Policy Tiers

You can dispose of a previous tier by clicking on the trash icon on the right hand side of the tier -

Approve Policy Changes

Once a change request has been made, the wallet's policy status will be changed to Pending. Afterwards the account owner will receive a mobile request.

Anyone can still view the policy settings and tiers of a wallet's policy that's pending approval by visiting the policy page and clicking on the wallet for its policy details.

You will notice that when a wallet's in Pending status, you will be able to review the changes that are waiting for an approval, as well as what's the current rule settings that are set, by switching through the toggle shown above.

The owner of the account can also view the changes and the current state of the wallet policy settings before approving on his/her mobile device:

If the owner rejected the changes, they will have the option to undo the rejection for a duration of 3 seconds after the rejection was made, on their mobile screen.

When a rejection was set, the rule changes back to Live status and the old settings of the wallet are still applicable. When approved -> the new changes take place.

If you have any further questions regarding the wallet's policy (governance) feature, don't hesitate to contact us at: [email protected].

Regular Wallet

Owner is the sole approver for any tx amount, and transacted only to whitelisted addresses.

API Wallet

API Signer is the sole approver for any tx amount, and transacted only to whitelisted addresses.

Users

Overview

This page outlines the Users concept in the Inabit system. A user represents an individual who has access to the platform and belongs to a specific organization. Each user has a unique identifier and associated profile information.

Key functionalities:

  • Access and use assigned resources and data within the organization.

  • Perform specific actions based on assigned roles and permissions.

  • Update personal profile information.

  • Manage individual settings and preferences.

Relationships:

  • A user belongs to one organization (N:1).

  • Users within the same organization may have different access levels and permissions.

Additional Information:

  • You can find information on managing user accounts in the User Management API documentation: link.

  • For details on available roles and permissions, refer to the User Management API documentation: link.

Organizations

Overview

This page defines Organizations within the Inabit system. An organization represents a group of users that belong to the same account. It allows for granular access control and management within the platform.

Key functionalities:

  • Create and manage users within the organization.

  • Assign specific roles and permissions to users.

  • Manage organization-specific settings and resources.

  • Track user activity and data within the organization.

Relationships:

  • An organization belongs to one account (N:1).

  • An organization can have many users (1:N).

  • Users within an organization share access to specific resources and data based on their permissions.

Additional Information:

  • You can find information on creating and managing organizations in the Organization Management API documentation: link.

  • For details on user roles and permissions, refer to the User Management section in the API reference.

On-Ramp: Fiat to Crypto

Part of inabit's Crypto <> Bank Service

Enable On-Ramping for your inabit account? Apply Here

What is On-Ramp?

An On-Ramp is a service or process that allows users to purchase cryptocurrency using traditional fiat currency. This is typically done through a cryptocurrency exchange or a payment service that accepts fiat currency (e.g., credit/debit card, bank transfer) in exchange for digital assets like Bitcoin, Ethereum, etc.

Which countries are supported?

inabit proudly extends its support to diverse regions worldwide, spanning over 150 countries across 5 continents. Our commitment to global accessibility ensures that users from virtually anywhere can benefit from our platform's services. Whether you're in North America, Europe, Asia, Africa, or Oceania, we've got you covered.

See the complete list of supported countries .

Which currencies are supported?

We are proud to support a wide range of currencies, including all major ones such as USD, EUR, INR, JPY and many more. In fact, we support 45 different currencies, ensuring that our platform is accessible and convenient for users around the world.

See the full list of supported currencies .

Which crypto tokens are accepted?

Inabit supports USDT on the Ethereum, TRON, and Polygon networks, as well as USDC on the Ethereum network.

Recovery and Backup

Discover what Disaster Recovery means in cryptocurrency and how it works in inabit

What is Disaster Recovery?

In crypto, Disaster Recovery (DR) involves plans and procedures to restore and access digital assets after major disruptions (disasters) like cyberattacks or hardware failures. It includes backup systems, security measures, geographic redundancy, testing, communication plans, and regulatory compliance to ensure the safety and availability of assets in emergencies.

inabit - being a self-custody wallet solution, offers the option to recover digital assets from its wallets.

Accounts

Overview

This page explains the concept of Accounts in the Inabit system. An account represents a single entity that uses the Inabit platform. This could be an individual, a company, or any other type of organization. Each account has its own unique identifier and is the top level of the Inabit hierarchy.

Key functionalities:

  • Create and manage organizations within the account.

  • View and manage user access and permissions.

  • Access administrative functionalities for the account.

  • Billing and subscription information are all based on the account. (account-level)

Relationships:

  • An account can have many organizations (1:N).

  • Organizations within an account share access to certain resources and settings.

Additional Information:

  • You can find information on creating and managing accounts in the Account Management API documentation: link.

  • For details on available permissions and roles, refer to the User Management section of the API reference.

here
here

Platform Overview

inabit's platform offers a comprehensive suite of features designed to provide secure, seamless, and user-driven digital asset management. Below is an overview of the platform's key capabilities:

Security at the Core

inabit employs a Trusted Computing Mechanism (TCM) to ensure that your private keys are accessible only on authorized devices under your control, never exposed to unauthorized parties. This approach combines user-friendly design with security standards that exceed industry norms.

End-to-End Encryption

  • Private Keys Protection: Your private keys remain secure during storage, transit, and usage.

  • Military-Grade Encryption: Utilizes encryption methods trusted by defense organizations and governments worldwide.

  • Proven Cryptographic Reliability: Incorporates security mechanisms with decades of proven reliability.

Complete Asset Control

With inabit's secured self-custody solution, you retain total ownership of your private keys, minimizing third-party risk and ensuring uninterrupted access. Comprehensive disaster recovery options guarantee business continuity.

Unified Asset Management

Manage your entire digital portfolio within a single, secure platform. Connect your existing wallets, including exchange and DeFi accounts, to streamline management and enhance security.

Transacting with inabit

  • Reliable Crypto Swaps: Execute seamless crypto-to-crypto swaps at a competitive fee of 0.15%, maximizing trading flexibility and reducing costs.

  • Validated Transfers: Each transaction undergoes thorough compliance and accuracy checks using Know Your Transaction (KYT) analysis to meet Anti-Money Laundering (AML) standards.

  • Financial Reporting: Easily export detailed transaction reports across all organizational wallets, facilitating financial oversight and accuracy for CFOs, accountants, and finance professionals.

Governance & Policy

Define precise roles, permissions, and approval workflows to ensure every action aligns with your organization's security and compliance standards. Configure approvers, transaction rules, and approval workflows across all wallets, users, and transactions, ensuring no operation proceeds without the necessary approvals.

Disaster Recovery in inabit

inabit offers an organization-based disaster recovery (DR).

In order to fully execute a truely self-custody recovery solution and ensuring the safety of the sensitive files (such as the encrypted wallet.dat file - the file in which all of the mnemonic seed phrases are held encrypted), inabit chose to partner with Vaultinum.

About Vaultinum

Vaultinum is a trusted independent third party specialized in the protection and audit of digital assets.

Since 1976, they have enabled thousands of digital creators, digital businesses and tech investors secure their innovations by providing solutions to:

  • Protect their Intellectual Property with IP Deposit and IP Audit.

  • Ensure the continuity of their business activity with Software Escrow.

  • Mitigate cyber and software risks through in-depth Technology Due Diligence (KYS-Know Your Software).

  • Create an unforgeable proof of date and time of event with our Certified Time-stamping solution.

With secure servers based in Europe, ISO 27001 certification, and a unique double expertise in IT and legal, their clients benefit from the highest levels of security and protection for all their sensitive assets.

Devices Pairing

Learn about inabit's device pairing and its use in our platform

What is Device Pairing in inabit?

Device pairing in inabit refers to the process of connecting a mobile device of a signer (or higher level) user to the inabit platform. This connection establishes a secure communication channel between the user's mobile device and the wallets enclave within the inabit platform. By pairing a device, we can securely identify and authenticate the user, ensuring that all interactions and transactions carried out via the mobile device are legitimate and protected.

Why is Device Pairing Important?

Device pairing is crucial for several reasons:

  • Security: It ensures a secure connection between the user's device and the inabit platform, protecting sensitive information and transactions.

  • Authentication: It helps in verifying the identity of the user, preventing unauthorized access.

  • User Experience: It streamlines the process of accessing inabit services, making it convenient for users to perform transactions directly from their mobile devices. Approvers can easily open their mobile app and decide if they wish to approve or reject a transaction by a simple click.

Pairing a device in inabit can only be performed by "Approver" roles. (User roles with potential signing permissions).

How to Pair Your Device

Follow these steps to pair your mobile device with the inabit platform:

Step 1: Install the inabit Mobile App

  1. Download the App:

    • For iOS devices, visit the App Store.

    • For Android devices, visit the Google Play Store.

    • Search for "inabit" and download the app.

Step 2: Launch the inabit Mobile App

  1. Open the App:

    • Locate the inabit app icon on your mobile device and tap to open it.

  2. Sign In with your preferred cloud of choice:

    • Google Drive (iOS / Android)

Step 3: Initiate Device Pairing

  1. Navigate to Pairing Section:

    • Once logged in, go to the "Settings" or "Account" section of the app.

    • Find and select the option for "Device Pairing" or "Pair Device."

  2. Scan the QR code to get the Pairing Code in the App:

Step 4: Pair the Device with inabit Platform

  1. Log In to inabit Platform:

    • On your computer or another device, log in to the inabit platform using your account credentials.

  2. Access Device Pairing Option:

    • Navigate to your user and find the option of "Pair Device".

Step 5: Confirm Pairing

  1. Verify Pairing / Pairing in Progress:

    • A confirmation period will occur and you will need to wait with the screen opened on your mobile app

WARNING: Do not close the mobile application while device pairing is in progress!

  1. Successful Pairing:

    • Once confirmed, your mobile device will be securely paired with the inabit platform.

    • You will be displayed with a green screen of "Pairing Completed" in the mobile app.

    • Once the screen is displayed, you will instantly be moved to the next step of your mobile app onboarding.

Step 6: Test the Pairing Connection:

  1. Test Functionality:

    • Perform a test transaction or action within the inabit app to ensure the device pairing is working correctly.

    • You should be receiving an approval request for every transaction within a wallet's policy that you're a set approver of.

Troubleshooting

If you encounter any issues during the pairing process, consider the following tips:

  • Ensure Internet Connection: Both your mobile device and computer should have a stable internet connection.

  • Update the App: Make sure you have the latest version of the inabit app installed.

  • Restart Devices: Sometimes, restarting your devices can resolve connectivity issues.

  • Contact Support: If problems persist, contact inabit customer support for assistance.

Summary

Device pairing is a vital security feature that enhances the safety and convenience of using the inabit platform. By following this guide, users can easily pair their mobile devices, ensuring a secure and seamless experience.

For any further assistance, please refer to the inabit support resources or contact our support team.


This guide should help your users understand and execute the device pairing process efficiently. If you have any additional information or specific requirements, feel free to provide them!

Binance

Binance Exchange Integration with inabit

We don't currently offer support for Binance US exchange accounts. This connection is specific to Binance accounts exclusively.

Connecting your Binance wallet

Binance Configuration:

  • Refer to the to learn how to generate a Binance API key.

    • You can also generate an API key directly from Binance UI under the account settings section: "API Management".

    • When creating a key we recommend naming the API key - "inabit", so there won't be any confusion with other future/existing keys.

  1. This IP address belongs to inabit and by whitelisting it in the exchange API, you enable access for inabit services to operate on your behalf.

  2. This IP address must be whitelisted otherwise, the connectivity to inabit will fail.

inabit Configuration:

  • Within the inabit platform, go to the wallets page and click on "Add new".

  • Select the option "Exchange Wallet" and choose the "Binance" option.

  • Fill in the following details:

If all credentials are okay and the wallet name is valid, the connection should be successful and you can start managing the binance wallet in your organization!

Hierarchy in inabit

inabit Account Hierarchy

This page clarifies the relationships between accounts, organizations, and users within the Inabit system.

Key Terms:

  • Account: Represents a single entity that uses the Inabit system.

  • Organization: A group of users that belong to the same account. An account can have multiple organizations.

  • User: An individual who has access to the Inabit system and belongs to a specific organization. An organization can have multiple users. A user can be associated with multiple organizations as well.

Relationships:

  • One account can have many organizations (1:N).

  • One organization belongs to one account (N:1).

  • One organization can have many users (1:N).

  • One user belongs to one organization (N:1).

Example:

  • Inabit Corporation (Account)

    • Marketing Department (Organization)

      • User1 (Marketing Manager)

      • User2 (Social Media Specialist)

Blockchains

Which blockchains & protocols inabit currently supports

inabit supports major blockchain protocols (mainnet) and nearly limitless digital assets in its system. This page gives an overview of all of the blockchains we support.

Supported functions

Not all blockchains function identically, so we support different features depending on the technical constraints of each blockchain. In the table below, you can compare which broad feature sets are supported on which blockchains.

Assets & Tokens

Which assets & tokens inabit currently supports

inabit supports multiple assets

It is important to note that all assets and tokens within standards we support such as ERC-20 (or equivalent, e.g. BEP-20 or TRC-20) are supported by our wallets.

The table below provides the native assets (Blockchain assets) that we supports (that aren't tokens).

As for tokens, inabit will support all tokens within the blockchains and standards that it currently supports. See supported blockchains list .

Table Columns:

Features & Capabilities

Read our documentation and get up to speed on how to access our API capabilities.

inabit GraphQL API Docs

Welcome to the inabit's developers API documentation.

Here you'll discover here a comprehensive array of resources essential for initiating the utilization of our API and seamlessly incorporating it into your current solution.

Our extensive API reference documentation and libraries of code are designed to expedite your initial steps, while our tutorials and guides are tailored to assist you in crafting sophisticated features and seamless integrations with our API.

Off-Ramp: Crypto to Fiat

Part of inabit's Crypto <> Bank Service

Enable Off-Ramping for your inabit account?

What is Off-Ramp?

An Off-Ramp is the opposite process, where users convert cryptocurrency back into fiat currency. This is essential for cashing out your digital assets into a traditional bank account or other fiat-based financial systems.

Transaction Acceleration (CPFP)

Accelerating transactions in Bitcoin - How does it work and how inabit utilizes it?

Accelerating a Bitcoin Transaction

Bitcoin transactions are typically processed by miners on the blockchain network, but sometimes they can take longer than expected to confirm. This delay can be frustrating, especially if you're in urgent need of completing a transaction. Fortunately, there are methods to accelerate your Bitcoin transaction, ensuring it gets confirmed faster. One such method is using Child-Pays-for-Parent (CPFP) technique.

Install the App:

  • Follow the on-screen instructions to install the inabit app on your mobile device.

iCloud (Exclusive to iOS)

  • The inabit platform will generate a unique pairing code or QR code.

  • You will also have the option highlighted on any screen in the web platform, if you're in an approver-fitting role

  • Enter Pairing Code From The App:

    • Enter the pairing code generated by the mobile app.

  • Sales Department (Organization)

    • User3 (Sales Representative)

    • User4 (Account Manager)

    Confidential Computing

    Getting Started

    This is where your journey with Inabit begins. Here, you'll delve into our platform, explore its features, and gain insights into our cutting-edge security technology.

    These guides will help you set up and test your test and production environments for development.

    Feeling ready to jump in? Head to the quick start section and proceed with making your first request:

    Developing with inabit

    API Reference

    Dive a little deeper and start exploring our API reference to get an idea of what's possible to achieve using the API:

    • With our API, you can easily gain access to your own user created especially for API access.

    • For your comfort, each API query/mutation is explained in a different page. (refer to "API Reference")

    • If you have any questions or suggestions, feel free to reach out to our support team: [email protected]

    Use Cases

    Curious about how other customers use our API? Take a high-level look at popular financial and Web3 use cases we created that will demonstrate a full development flow using inabit's infrastructure.

    inabit Wallet-As-A-Service
    inabit x Crypto Clearing Services
    After you confirm the validity of your new API key, keep a record copy of both the API Key and Secret Key. You will need them when adding this exchange to your organization.
  • Make sure you've enabled the following API restrictions when generating the keys:

    • Reading

    • Withdrawals

    • Spot & Margin Trading (if you intend to swap assets directly from inabit in this wallet)

  • Under the IP restrictions access, please select Restrict access to trusted IPs only, discard the 0.0.0.0 IP address, and add the following IP:

  • Wallet name
  • API key (the one saved from Binance)

  • Secret key (the one saved from Binance)

  • Click on "Connect Exchange".

  • Binance.com API Documentation
    35.233.10.83
    The table does NOT include ALL supported features on each blockchain. It is simply an overview the general supports in standards and basic blockchain compatibility.

    The list below is relevant only for inabit native wallets.

    If you connected an exchange, all of its blockchains and assets are automatically supported in inabit.

    Blockchain
    Support

    Bitcoin

    ✓ (Acceleration using CPFP)

    Ethereum

    ✓ (ERC-20 + ERC-1155)

    Binance Smart Chain

    ✓

    Polygon

    ✓

    Solana

    ✓

    Tron

    ✓ (TRC-20 + TRC-10)

    Financial Asset - the name of the digital asset

  • Blockchain Code - the blockchain on which the asset exists

  • Supported Native Assets

    Financial Asset
    Blockchain Code
    Financial Asset
    Blockchain Code
    Financial Asset
    Blockchain Code
    Financial Asset
    Blockchain Code
    Financial Asset
    Blockchain Code
    Financial Asset
    Blockchain Code
    Financial Asset
    Blockchain Code
    Financial Asset
    Blockchain Code
    Financial Asset
    Blockchain Code

    here

    Which countries are supported?

    inabit proudly extends its support to diverse regions worldwide, spanning over 150 countries across 5 continents. Our commitment to global accessibility ensures that users from virtually anywhere can benefit from our platform's services. Whether you're in North America, Europe, Asia, Africa, or Oceania, we've got you covered.

    See the complete list of supported countries here.

    Which currencies are supported?

    We are proud to support a wide range of currencies, including all major ones such as USD, EUR, INR, JPY and many more. In fact, we support 45 different currencies, ensuring that our platform is accessible and convenient for users around the world.

    See the full list of supported currencies here.

    Which crypto tokens are accepted?

    Inabit supports USDT on the Ethereum, TRON, and Polygon networks, as well as USDC on the Ethereum network.

    Apply Here
    What is CPFP (Child-Pays-for-Parent)?

    CPFP is a method used to prioritize the confirmation of a Bitcoin transaction by attaching a high fee to a related transaction. When a Bitcoin transaction is created, it often includes multiple inputs and outputs. If one of these transactions is unconfirmed due to a low fee, CPFP allows users to create a new transaction that spends the unconfirmed output of the original transaction.

    Miners are incentivized to include both the original (parent) transaction and the new (child) transaction in the same block because the combined fees from both transactions are higher than those of individual transactions. This method is particularly useful when the sender of a transaction urgently needs it to be confirmed and is willing to pay a higher fee to expedite the process.

    In summary, CPFP is a valuable tool for accelerating Bitcoin transactions, especially in situations where time is of the essence. By attaching a high fee to a related transaction, users can incentivize miners to prioritize the confirmation of both transactions, ensuring faster processing on the blockchain network.

    Accelerating Transactions in inabit

    inabit utilizes the CPFP technique to accelerate Bitcoin transactions for its platform wallets. (inabit native wallets).

    Everytime there's a Bitcoin transaction being broadcasted, you can accelerate the transaction through the transaction's page.

    Accelerate transaction button

    Note that accelerating Bitcoin transactions will require an additional approval (For the accelerated transaction) as well as a charge higher fee than a regular Bitcoin transaction.

    UTXO Consolidation in inabit

    Trusted Execution Environment (TEE)

    What is a UTXO?

    UTXO stands for Unspent Transaction Output, and it's a fundamental concept in cryptocurrencies like Bitcoin.

    Every transaction output in the Bitcoin blockchain that has not been spent yet is considered an unspent transaction output (UTXO). Each UTXO has an associated value (the amount of bitcoins) and a locking script, which specifies the conditions under which the bitcoins can be spent (usually by providing a public key or a script that corresponds to a private key).

    What is UTXO Consolidation?

    If you regularly run operations on the Bitcoin blockchain, you will likely notice that the list of UTXOs in your wallets grows very quickly. This can be a major problem for retail-facing operations.

    A process utilized by most companies is "consolidating UTXOs", or creating a transaction that will take many small unspent UTXOs and turn them into a single larger UTXO (Consolidated UTXO).

    UTXO Consolidation in inabit

    Every UTXO created from your transactions in Bitcoin or example, is saved in a database table with all UTXO relevant data (such as UTXO amount, is_spent flag, etc.)

    inabit developed a unique logic to calculate which UTXOs should be used to send a transaction in Bitcoin, instead of registering a new UTXO from a new transaction.

    By applying this logic, inabit takes another step forward towards optimizing Bitcoin transactions, making them much more efficient.

    Use inabit to Build an Exchange

    An example use case of how inabit's API Infrastructure is utilized

    Overview

    The following guide provides a comprehensive explanation on leveraging inabit's wallet infrastructure and building an automated transactions flow, as you would expect in an exchange.

    As a provider of a secured wallet infrastructure, Inabit is committed to simplifying processes for exchanges such as yours. This manual will guide you through integrating and managing your digital wallet operations effortlessly, prioritizing security, effectiveness, and adaptability.

    Prerequisites

    • Have an user created for your organization in inabit.

    • Access to the inabit platform (as the Exchange):

      • Have an account ready to be used.

      • Create an inabit "Withdrawals" wallet via the platform's UI for your withdrawal operations.

    🚧 One-time Must-Have Setup:

    Please ensure that you complete the and execute the as a one-time prerequisite. Once this step is accomplished, you will be able to create your API wallets and addresses as needed.

    Additional Reference

    We highly advise taking a look at the following guides as you develop your crypto clearing application with inabit:

    Technical Architecture: How The Integration Works?

    Flow Explained: How Does It Work?

    • TBD

    Congratulations! 🎉👏

    Your exchange's wallets & operations infrastructure is operational, functional, and secure!

    If you encounter any challenges in the process or need further clarification on any aspect, please don't hesitate to reach out to us at [email protected].

    inabit Wallet Types

    See which wallet types are supported on our platform.

    inabit provides a robust and secure wallet infrastructure designed to meet diverse needs for managing, transacting, and storing digital assets. Each wallet type serves a specific purpose and is tailored to different user profiles, ranging from businesses to developers and individual users. Below is a detailed breakdown of the wallet types we offer:


    inabit Wallets

    The core offering of inabit, these wallets are designed for seamless management of digital assets within the inabit ecosystem.

    User Roles in inabit

    Learn about inabit's role system and its permissions per each role

    inabit Roles Hierarchy

    The following page describes inabit roles system by order "highest" to "lowest"

    Owner

    Integrate Accounting Firms with inabit

    An example use case of how inabit's API Infrastructure is utilized

    Overview

    In integrating with major accounting firms, inabit streamlines the process of accessing and managing transaction data and balances within their platforms. Through a straightforward integration process, users can grant viewing permissions to their accounts, allowing accounting firms to retrieve essential information via a custom-tailored Access Token. This seamless connection empowers users to monitor their finances effortlessly through their preferred accounting firm's interface, ensuring a smooth and efficient experience.

    Kucoin

    Kucoin Exchange Integration with inabit

    Connecting your Kucoin wallet

    Kucoin Configuration:

    Trusted Computing Mechanism

    Trusted Execution Environment (TEE)

    Trusted Execution Environment (TEE) in Inabit

    Inabit prioritizes the security of your data and transactions. One key layer of protection we employ is Trusted Execution Environment (TEE) technology. TEE creates a secure enclave within the main processing unit, acting as a dedicated vault for sensitive information and operations.

    What is TEE?

    Imagine a secure room within your hardware, isolated from the main operating system. This protected space, enabled by TEE, safeguards sensitive data and code from unauthorized access, even if the main system is compromised. This isolation ensures:

    • Confidentiality: Your data remains encrypted and unreadable outside the TEE enclave.

    • Integrity: Any code or data stored within the enclave cannot be tampered with.

    • Attestation: You can verify the authenticity and integrity of the TEE environment itself.

    How does Inabit use TEE?

    In Inabit systems, TEE can be utilized in various ways to enhance security, including:

    • Protecting sensitive user credentials: Login details, encryption keys, and other critical information can be stored and processed within the TEE enclave, minimizing the risk of theft or misuse.

    • Securing critical system functions: Specific system functions handling sensitive data or transactions can be executed within the TEE, isolating them from potential vulnerabilities in the main system.

    • Enabling secure communication channels: TEE can establish secure tunnels for data communication between Inabit's systems and your devices, ensuring the integrity and confidentiality of data in transit.

    By incorporating TEE, Inabit strives to provide an additional layer of defense for your data and transactions, fostering a more secure and trustworthy user experience.

  • This wallet will serve as the funding route for the exchange users withdrawals.

  • Create an additional API wallet and deposit funds to it for fee/gas:

    • If you're fueling Ethereum / tokens in Ethereum chain - deposit ETH.

    • If you're fueling TRON / tokens in TRON chain - deposit TRX. (and so on, refer to Supported Blockchains)

  • Necessary access permissions setup.

    • Eligible roles - Owner / Admin / API Admin / API Signer

  • Automate Signing Transactions
  • Receive Webhooks on Transaction Events

  • API Admin
    Approvals Docker Configuration
    API signer Setup
    API Login Access / Authentication
    Create Transfer Requests in API
    Create API wallet addresses
    Remote & Automatic Approvals (Docker Configuration)
    Key Features:
    • Multi-Asset Support: Manage a variety of cryptocurrencies across multiple blockchains.

    • User-Friendly Interface: Accessible through the inabit platform, providing an intuitive experience for users of all skill levels.

    • Secure Storage: Backed by industry-leading security protocols, including encryption and multi-signature (multi-sig) technology.

    • Gas Wallet Integration: Includes an option to purchase and manage blockchain gas fees using a credit card for hassle-free transactions.

    • Recovery Options: Built-in recovery tools to ensure assets remain accessible in case of technical or account issues.

    Use Cases:

    • Storing and managing personal or business digital assets.

    • Performing blockchain transactions securely.


    inabit Wallets

    These wallets are purpose-built for developers and businesses who wish to integrate wallet functionality directly into their applications using the inabit API.

    Key Features:

    • Customizable Workflows: Full control over wallet creation, transaction management, and monitoring through API calls.

    • Secure API Authentication: Uses API keys and secure authentication protocols to protect wallet operations.

    • High Scalability: Ideal for businesses managing multiple wallets and transactions at scale.

    • Transaction Automation: Automate processes like payroll in crypto, recurring payments, or bulk transactions.

    Use Cases:

    • Embedding crypto wallet functionality into fintech applications.

    • Businesses needing bulk wallet creation and transaction execution.


    Exchange Wallets

    Specifically tailored for companies managing assets on exchanges, these wallets are designed to simplify interactions with exchange platforms.

    Key Features:

    • Exchange Integration: Compatible with major cryptocurrency exchanges for seamless asset transfers.

    • Monitoring and Reporting: Track incoming and outgoing transactions and maintain a clear record of balances and activity.

    • High-Speed Transfers: Optimized for quick deposits and withdrawals between exchanges and inabit’s ecosystem.

    • Multi-Exchange Support: Manage multiple exchange accounts from a single interface.

    Use Cases:

    • Traders and institutions managing assets across multiple exchanges.

    • Businesses requiring swift liquidity management.


    Web3 Wallets

    These wallets connect directly with decentralized applications (dApps) and smart contracts, empowering users in the Web3 ecosystem.

    Key Features:

    • dApp Integration: Securely connect and interact with decentralized finance (DeFi) platforms, NFT marketplaces, and more.

    • WalletConnect Support: Integrated with WalletConnect, allowing users to connect their wallets to dApps effortlessly from their mobile or desktop devices.

    • Non-Custodial: Users retain full control of their private keys and funds, ensuring decentralization and trustlessness.

    • Smart Contract Interaction: Seamlessly execute transactions involving smart contracts.

    Use Cases:

    • Individuals and businesses engaging with DeFi protocols.

    • Developers building Web3 applications requiring wallet connectivity.


    Monitored Wallets

    These wallets are designed for businesses and organizations that require detailed transaction oversight and reporting.

    Key Features:

    • Real-Time Monitoring: Track all incoming and outgoing transactions in real-time.

    • Advanced Reporting: Generate detailed transaction reports for accounting, compliance, or internal audits.

    • Policy Enforcement: Enforce custom transaction policies, such as whitelisting addresses or setting spending limits.

    • Integrated Alerts: Receive notifications for specific wallet activities (e.g., large transactions, low balances).

    Use Cases:

    • Compliance teams ensuring adherence to AML (Anti-Money Laundering) and other regulatory requirements.

    • Organizations needing granular control over wallet activity and fund movement.


    Why Choose inabit Wallets?

    • Security First: All wallet types are protected by advanced security measures, including encryption, two-factor authentication (2FA), and optional multi-sig.

    • Scalability: Flexible solutions for individuals, developers, and enterprises.

    • Seamless Integration: Wallets integrate effortlessly with other inabit services, such as the inabit API and Gas Wallet.

    • Customizability: Tailored options to meet specific use cases, from personal use to enterprise-grade requirements.


    By offering a variety of wallet types, inabit ensures that every user—whether an individual, developer, or enterprise—can find a solution tailored to their needs. If you're ready to explore these wallets or need assistance selecting the right type, our support team is here to help!

    The owner is the one that approves signing devices and new users and is granted with all of the permissions in the entire system (account).

    There's only one owner to an inabit account

    Reminder -> there can be multiple organizations in an inabit account, but there cannot be multiple inabit accounts under the same owner.

    Admin

    An admin has access to everything in the system except being able to open new organizations, viewing the account settings & remove the owner.

    An inabit account can have multiple admins per organization and an admin can be a set as a different user per each and every organization.

    Signer

    Signers are users similar to admins but their sole purpose is to approve or reject transactions. The signer can't perform administrative operations like add/remove new users to/from an organization.

    Editor

    Editors can access everything in the system but creating new wallets, approving/rejecting transactions and editing organization settings and its users.

    They are still capable of creating transaction requests.

    Viewer

    A viewer only has viewing permissions in an inabit organization and he/she cannot initiate transactions or edit any of the settings but their own. (User photo, email, password, etc.)

    API User Roles

    In order to access our API capabilities and authenticate queries and mutations, you must create an API Admin/Viewer.

    API Admin

    The API admin role is internally generated by inabit when an organization desires to utilize inabit's API infrastructure. Upon receiving such a request, we establish an "API user" devoid of access credentials to the platform's UI. This user's sole function is to issue an access token for inabit's API.

    By utilizing the access token provided through this user's credentials, you gain access to inabit's queries and mutations within our GraphQL schema. A significant distinction between this role and other API user roles is that this API user possesses equivalent permissions to a standard Admin within the system.

    With this role, you can execute various actions such as creating transactions, adjusting organization settings, inviting new users to your organizations, establishing wallets, and much more - all through the API.

    How to create an API Admin?

    • Contact inabit's support at to retrieve login access credentials and fetch a JWT access token when you authenticate.

    • Use the token as a bearer across all of your queries and mutations.

    Note - You can also decide to create an API Viewer. The same role permissions are applied to the Viewer role in the platform, doing so you will only receive API capabilities of a viewer.

    API Signer

    API signer is a unique user created by inabit that is separated from an API admin/viewer.

    This API user is created for the sole purpose of serving as the "API approver" to sign transactions using inabit's developed tool we call the "Docker Signer".

    In a nutshell, this role's purpose is to serve as a "remote approval" application to simulate/replace the standard inabit mobile approvals app for services that develop and build their infrastructure with inabit.

    • You can learn all about this in our Remote Infrastructure section.

    • If you still find it hard to understand, feel free to contact us for tailored support: [email protected]

    API Viewer

    The API viewer is another role generated (currently) by inabit internally when an organization wishes to operate and utilize inabit's API infrastructure.

    The sole difference between an API admin and API viewer is the permission access to the capabilities of the API.

    • The API viewer isn't capable of calling mutations such as createTransferRequest or createApiWalletAddress.

    Prerequisites

    Before diving into the setup, please ensure the following:

    • Access to the inabit platform (as the wallet provider):

      • Have an account ready to be used.

    • You've contacted our support and we've generated a custom tailored token.

      • This token is for your accounting firm to have access and connect to your inabit account and have access credentials through our GraphQL API.

    Additional Reference

    We highly recommend using Cryptoworth as your preferred crypto accounting firm to track your crypto finances made through inabit.

    See how the collaboration with them is utilized and what are the benefits:

    Technical Architecture: How The Integration Works?

    Flow Explained: How Does It Work?

    • The overall integration process between inabit and a crypto accounting firm is very simple. When we receive a request from an account owner, to integrate with an accounting firm - we generate an API Viewer user with viewing permissions to the account (and its organizations)

    • After the API Viewer was created, inabit sends the owner a customer tailored Access Token to the owner's email.

    • The owner sends that token to the accounting firm to integrate to inabit.

    • That's it! -> The accounting firm (cryptoworth for example) can use the access token to integrate to our API and call transactions information, balances and more.

    • From then on, the accounting firm will display the data retrieved on the inabit account in their interface for the users to view.

    You're All Set! ☑️

    You're fully set to work with inabit and view the entire information on your transactions, while tracking your balance - in your accounting firm's interface.

    If you encounter any challenges in the process or need further clarification on any aspect, please don't hesitate to reach out to us at [email protected].

    Refer to the KuCoin.com API Documentation to learn how to generate an API key.

    • You can also generate an API key directly from Kucoin UI under the account settings section: "API Management".

    • When creating a key we recommend naming the API key - "inabit", so there won't be any confusion with other future/existing keys.

  • After you confirm the validity of your new API key, keep a record copy of both the API Key and Secret Key. You will need them when adding this exchange to your organization.

  • Make sure you've enabled the following API restrictions when generating the keys:

    • General

    • Spot Trading

    • Transfer

  • Under the IP Restriction section, click on "Yes" and add the following IP to the list, as follows:

    1. This IP address belongs to inabit and by whitelisting it in the exchange API, you enable access for inabit services to operate on your behalf.

    2. This IP address must be whitelisted otherwise, the connectivity to inabit will fail.

    inabit Configuration:

    • Within the inabit platform, go to the wallets page and click on "Add new".

    • Select the option "Exchange Wallet" and choose the "Kucoin" option.

    • Fill in the following details:

      • Wallet name

      • API key (the one saved from Kucoin)

      • Secret key (the one saved from Kucoin)

      • Passphrase

        • Also known as "Trading Password"

        • (A required 6 digit password that you've set for Kucoin API)

    • Click on "Connect Exchange".

    If all credentials are okay and the wallet name is valid, the connection should be successful and you can start managing the Kucoin wallet in your organization!

    XRPL (Ripple)

    ✓

    Bitcoin Cash

    ✓

    Litecoin

    ✓

    Ton

    Coming soon

    BTC

    bitcoin

    ETH

    ethereum

    TRX

    tron

    BNB

    binance-smart-chain

    SOL

    solana

    XRP

    XRP

    MATIC

    polygon

    BCH

    bitcoin-cash

    LTC

    litecoin

    Exchanges

    Which exchange connections inabit currently supports

    Overview

    inabit exchange connectivity enables you to connect exchange main accounts, allowing the following functionalities:

    • Funding exchange wallets: Deposit, withdraw and rebalance between your connected accounts.

    • Monitor wallet balances: Monitor assets, balances, and transactions for your connected accounts.

    • Send funds anywhere: Transfer to any other wallet / address (whitelisted/non-whitelisted).

    Transfers from exchanges to some destination addresses may require additional configuration in the exchange API settings/management.

    All the exchanges connected to your inabit organization appear in the wallets page and are apart of your organization balance once connected.

    Assets held on the exchange are included and shown in your wallet balance.

    Exchange Account/Wallet Types

    Main accounts

    The primary account serves as the default gateway on the exchange platform. It acts as the central hub for inabit and other exchanges, exclusively facilitating deposits and withdrawals.

    Depending on the exchange, you may need to whitelist destinations on the exchange to be able to withdraw to wallets and/or other destinations.

    Sub-accounts

    This feature is currently not supported in inabit.

    Sub-accounts in exchanges refer to separate accounts created within a single user account. These accounts are often used to organize and manage different trading strategies, portfolios, or assets independently.

    Trading accounts

    This feature is currently not supported in inabit.

    Trading accounts in exchanges are the primary accounts created by users to engage in buying, selling, and exchanging cryptocurrencies or other financial assets. They serve as the main interface for conducting trading activities on the exchange platform.

    Supported Exchanges

    Changelog

    Keep track on what's new/changed in inabit 📝

    New Version Release - 2.9.0

    Release Notes:

    • Web3 - WalletConnect support:

      • Users can fully perform a connection to any wallet supported by walletconnet to inabit's platform.

    • We've released the ability to perform a full disaster recovery in inabit.

    🛠️

    • Fixed:

      • Changed the previous Ethereum base-fee calculation in order to significantly lower the probability of Ethereum transactions failures

    🎉

    Release Notes:

    • Bitcoin Transactions Acceleration

    • Increased support of different countries & currencies for off-ramp.

    • Additional security updates in the mobile approvals app.

    • New API Features:

    Added by Itamar Korkos 4.1.2024

    Added by Itamar Korkos 4.1.2024

    Disaster Recovery Guide

    inabit's Disaster Recovery guide using our Keys Recovery Tool

    The following utility provides you with a simplified approach to generating a recovery package enabling you the ability to recovery your organization's keys in case of a disaster.

    WARNING:

    You should never perform this procedure unless a disaster event has occurred and you need to extract your private keys/mnemonic phrases. This procedure decrypts your encrypted keys and will revoke access to the organization!

    In order to begin using inabit's recovery tool, you'll need to extract the following files:

    Kraken

    Kraken Exchange Integration with inabit

    Direct transfers to third parties from Kraken are disabled by default. In order to transfer funds from your kraken exchange wallet directly to a countryparty, you must manually save each destination address in Kraken's UI first.

    Connecting Your Kraken Wallet

    35.233.10.83

    Generation of dedicated API wallets via API.

  • Ability to sign transactions directly through API (API Signer).

  • Visual representation of API wallets in the platform's UI.

  • Version 2.8.1 Patch - Merged to Main
    New Version Release - 2.8.0
    Added "Exchanges" Section to Documentation
    Added "API Infrastructure" Section to Documentation

    Encrypted Master Key

  • Encrypted Wallets Key

  • Encrypted Password (for Wallets Key file)

  • Recovery Flow Steps

    The flow of recovering your all of your organization's mnemonics, is split between two parts:

    1. Issuing disaster recovery through inabit's platform (as the account Owner) and downloading the recovery package from the mobile application.

    2. Extracting the walletKey file from Vaultinum.

    3. Decrypting the mnemonics file using all three files.

    In this page we'll go over the recovery flow and all three steps above.

    What's a "Backup Email"?

    A backup email, or what we also call "Recovery Email" is the owner's set email for disaster recovery. This is set by upgrading an organization's security level via the owner's settings.

    Once there's a request to set a backup email, our support team is contacting the owner in order to define a specific email address to serve as "backup"/"recovery". (this email will receive the encrypted password file from Vaultinum) (See below for further).

    Step 1: Extract the Recovery Package

    Let's begin by explaining the first step of your recovery - Extracting the Recovery Package for your organization:

    • As the account owner, make sure you're set on the organization you wish to perform the DR in. Once you've confirmed you're on the right organization, go to your "Settings" tab at the bottom left of your screen.

    • At the bottom of the "Settings" page, you'll find a red button mentioning: "Issue Disaster Recovery" - click on it and go through your user 2FA to confirm the action.

    • Once you've issued the request, you'll receive a notification to your mobile device (inabit mobile app). You will need to approve the request in the app.

    • After approving the request, the screen will display a Download Recovery Package button where you'll need to download the recovery_package.zip file to a secured location (wether if its your email, any folder you have on your mobile that's secured by your PIN/strong password, or you can also share the file to your desktop and save it on a secured location there - it's your call.

    • Make sure to unzip the file in order to fetch all three files from the package:

      • Encrypted master key, encrypted wallets key, a disaster recovery guide pdf.

    ✅ Great news! You've finished step 1 of your recovery flow! Move on to the next step below.

    Step 2: Extract Encrypted Password from Vaultinum

    Step two of the recovery flow is explained as follows:

    • The account owner requests to extract the walletKey from Vaultinum,

    • Vaultinum then initiates a KYC verification that the owner (individual) must complete.

    • Once the verification process is completed, Vaultinum sends the encrypted password file to the owner's recovery/backup email.

    ✅ Great news! You've finished step 2 of your recovery flow! Move on to the next step below.

    Step 3: Decrypt Mnemonics File Using All Files

    Prerequisite Checklist

    Here's the full checklist of prerequisites you'll need before you can use our Python-based Keys Recovery Tool.

    Done with the above? You're ready to use our python-based keys recovery tool! ✔️

    Using The Tool to Decrypt The Mnemonics:

    inabit developed a self-service recovery tool to recovery your wallets' keys (mnemonic seed phrases).

    The tool we provide is Python-based Keys Recovery Tool in our GitHub repository. (It will require basic knowledge of how to run code in Python)

    Instructions on how to use the tool are provided in the repository's README.md file. The repository is public and can be viewed by anyone.

    If instructions are still unclear, feel free to reach out to us for help: [email protected].

    🔑 inabit Keys Recovery Tool

    Kraken Configuration:
    • Refer to the Kraken.com API Documentation to learn how to generate an API key.

      • When creating a key we recommend naming the API key - "inabit", so there won't be any confusion with other future/existing keys.

    • After you confirm the validity of your new API key, keep a record copy of both the API Key and Secret Key. You will need them when adding this exchange to your organization.

    • Make sure you've enabled the following API restrictions when generating the keys:

      • Query Funds

      • Deposit Funds

      • Withdraw Funds

    • Under the IP restrictions access, please select Restrict access to trusted IPs only, discard the IP address, and add the following IP:

    1. This IP address belongs to inabit and by whitelisting it in the exchange API, you enable access for inabit services to operate on your behalf.

    2. This IP address must be whitelisted otherwise, the connectivity to inabit will fail.

    inabit Configuration:

    • Within the inabit platform, go to the wallets page and click on "Add new".

    • Select the option "Exchange Wallet" and choose the "Kraken" option.

    • Fill in the following details:

      • Wallet name

      • API key (the one saved from Kraken)

      • Secret key (the one saved from Kraken)

    • Click on "Connect Exchange".

    If all credentials are okay and the wallet name is valid, the connection should be successful and you can start managing the Kraken wallet in your organization!


    Enabling transfers from your Kraken wallet

    Before whitelisting a inabit address on Kraken, lets understand what are Kraken Descriptions and why are they crucial for transferring through Kraken connected wallets.

    What are Kraken Descriptions?

    Kraken descriptions are essentially tags that are generated automatically by inabit per deposit address in the platform. This tag is later used by Kraken to whitelist an address that users wish to send funds to. Within the money transfer UI, users will be able to transfer to any address (unnecessarily whitelisted) via their Kraken wallet.

    While kraken doesn’t allow users to send funds to non-whitelisted addresses, in order to allow such option in inabit, inabit overcomes this by generating a description per every saved address under a contact in inabit.

    Now that we understand that in order to transfer we must save destination addresses within a contact in inabit, verify that the following are also completed:

    • Your Kraken wallet is fully connected to your inabit organization.

    • Your Kraken wallet has funds and was KYC/KYB verified.

    Follow the instructions below to whitelist in Kraken.

    If you are still having trouble, contact [email protected].

    Whitelisting addresses in Kraken

    • Click on "Withdraw" funds.

    • Cick on "Add new withdrawal address"

    • Add the following details:

      • Address Description

        • This is where you copy the Kraken description generated for the saved address in inabit.

        • You can copy the Kraken description in inabit from within the contacts page. View the saved address in the page and click on the 3 dots icon:

        • Click on the "Kraken Description" option.

      • Address (according to the designated blockchain)

    • Click on "Add Withdrawal Address"

    • You will be required to confirm the action via email. Once the confirmation is received, the address is familiar to Kraken and is saved in your exchange account.

    That's it! inabit now recognizes the whitelisted address in Kraken and you're able to transfer funds to the saved destination address through inabit's UI/API.

    You will also be able to see the generated Kraken description of a saved address when you select the destination address for the transfer in the Transfer UI.

    Exchange

    Name

    Binance ✓

    Exchange

    Name

    Kucoin ✓

    Exchange

    Name

    Kraken ✓

    Exchange

    Name

    OKX

    Coming soon

    Exchange

    Name

    Bybit

    Coming soon

    Exchange

    Name

    Gemini

    Coming soon

    Exchange

    Name

    Crypto.com

    Coming soon

    Exchange

    Name

    Coinbase

    Coming soon

    Data Privacy and Protection

    inabit API's Data Privacy and Protection Policy Guidelines

    Data Privacy and Protection

    At inabit, privacy and data protection are foundational principles. Our platform is designed to operate without handling or storing any Personally Identifiable Information (PII). This ensures that businesses using inabit can maintain the highest level of data security and compliance with global regulations like GDPR, CCPA, and others.


    How inabit Protects Privacy

    No PII Handling

    • Anonymized Data Only: inabit works exclusively with anonymized tokens, such as Universally Unique Identifiers (UUIDs), to represent client data.

    • Customer Responsibility: Businesses using inabit retain full control of their sensitive client data. They are responsible for mapping anonymized tokens to actual client identifiers in their internal systems, ensuring that sensitive data never resides within inabit’s infrastructure.

    Integration with inabit’s GraphQL API

    • All interactions with inabit’s platform, including wallet management and transaction operations, must use anonymized tokens when sending client-related data via our GraphQL API.

    • This ensures that persistent fields where customer-related data is stored contain only anonymized references, never actual client PII.


    Recommended Practices for Customers

    To align with inabit's privacy policies and maximize security, we recommend the following practices:

    1. Generate Anonymized Tokens:

      • Use UUIDs or other anonymized identifiers to represent client data in your system.

      • Ensure that these tokens are unique and securely mapped to real client data within your environment.

    2. Secure Internal Mapping:


    inabit API Fields Requiring Anonymized Tokens

    The table below outlines key fields in inabit’s GraphQL API where customer-related information might be referenced. These fields must contain anonymized tokens:

    By ensuring these fields only contain anonymized tokens, you can maintain robust privacy and compliance while leveraging inabit’s platform.


    Benefits of This Approach

    1. Enhanced Security:

      • Sensitive client data stays under your control and never enters inabit’s systems, reducing the risk of breaches.

    2. Regulatory Compliance:

      • This setup supports compliance with privacy regulations like GDPR, CCPA, and other regional laws.


    Policy Summary

    inabit’s platform is built with a privacy-first architecture, ensuring that sensitive client data remains entirely under the control of the businesses we serve. By leveraging anonymized tokens and securely managing data mappings within your systems, you can safely utilize inabit's advanced wallet and transaction management features while maintaining the highest data protection standards. For further assistance or questions, please contact our support team.

    inabit Wallet-As-A-Service

    An example use case of how inabit's API Infrastructure is utilized.

    Overview

    In an era where digital wallets are transforming the landscape of financial services, inabit offers a robust infrastructure tailored to meet the dynamic needs of crypto wallet providers. This guide is designed to navigate you through the seamless integration and management of your crypto wallet operations, empowering you with security, flexibility, and scalability like never before.

    Whether you're a growing startup or an established player in the crypto ecosystem, inabit's WaaS solution provides the foundation for building and managing feature-rich wallets that cater to the evolving demands of your users. From secure storage to efficient transaction processing, our infrastructure is engineered to enhance the user experience while ensuring the highest standards of security.

    Prerequisites

    Before diving into the setup, ensure you have:

    • Have an user created for your organization in inabit.

    • Access to the inabit platform (as the wallet provider):

      • Have an account ready to be used.

    • Registering to our webhook services with your service URL.

    🚧 One-time Must-Have Setup:

    Please ensure that you complete the and execute the as a one-time prerequisite. Once this step is accomplished, you will be able to create your API wallets and addresses as needed.

    Additional Reference

    We highly advise taking a look at the following guides as you start developing your wallet as a service with inabit.

    Technical Architecture: Customer Wallet Flows

    The architectural diagram depicts the wallet infrastructure utilizing inabit's wallet-as-a-service solution. Below we explain the flow's process from the beginning of a customer's interation in the interface until a transaction is sent successfully.

    Transactions Flow Explained

    Customer B (Wallet provider's customer)

    • When there's a wallet creation process occuring in the provider's (you) interface, initiate a request to inabit's API to generate a dedicated deposit address (API wallet) for the customer (step 1 in the flow).

      • This part isn't really visible in the flow, but you can see that the provider's inabit account contains multiple customer API wallets.

      • Refer to the first section below to learn how to .

    Now that the flow is clear, let's review the implementation process step by step! ✨

    1. a. Generate API Wallets for Customers

    The wallet provider (you) develops a logic that on every wallet creation/generation in your interface, a new inabit API wallet is created for your end-customer.

    We recommend saving the inabit API walletId to associate it with your customer in your database.

    In order to generate the API wallet address for the customer's deposit, call the following mutation:

    Remember to authenticate to call our graphQL API using an access token (bearer) with your API Admin credentials. (If you're not sure how, refer to )

    Don't have an API Admin/API Signer yet? contact us at [email protected] to create one!

    CreateApiWalletAddress Mutation:

    Body (ApiWalletCreateAddressInput object)

    Name
    Type
    Description

    Example body:

    Response

    In the mutation's response, you should receive the deposit address for the blockchain and asset you've requested, as well as the inabit API wallet ID for the customer (which you can later save and relate to the specific customer, in order to identify a customer's inabit API wallet).

    In the mutation's response, you should receive the deposit address for the blockchain and asset you've requested, as well as the inabit API wallet ID for the customer (which you can later save and relate to the specific customer, in order to identify a customer's inabit API wallet).

    Reminder - You can always query data and fetch all API wallets & their blockchain address in your organization when needed. Refer to .

    1. b. Initiate Transaction Request

    Once a customer in your interface triggers a withdrawal, initiate a withdrawal request to inabit's API. The following mutation is used to create a transfer request (withdrawal):

    CreateWithdrawal Mutation:

    Body (WithdrawalCreateInput object)

    Name
    Type
    Description

    Example body:

    Response

    In the mutation's response, you should receive the withdrawal ID.

    2. Approving Customers Transaction

    🚧 Approval Required

    Note that withdrawals will require an approval. In this case, approvals are given automatically according to the logic decided by the clearer (you), through the automatic approvals application (docker).

    If you feel like you've missed this step, please check prerequisite once more and refer to our additional reference section at the beginning of the page.

    The provider (you) needs to develop a logic to approve transactions using our approvals application tool. Please refer to the following subpage to learn more about how to .

    3. Broadcast Crypto Transaction to the Blockchain

    There's no extra work needed in this step.

    Once the transaction (withdrawal) request is approved using the API signer, the transaction will be broadcasted to the blockchain automatically.

    4. Receive Transactions & Balance Webhooks

    In order for the wallet provider (you) to be able to monitor the statuses of transactions executed from your customer's wallets, you can register to our webhook service and subscribe to specific notifications allowing you to identify new incoming/outgoing transaction events, as well as status updates and wallet balance updates.

    Please refer to 📣 for further information.

    Congratulations! 🎉👏

    You are fully set to operate as a wallet provider using inabit's secured remote wallets infrastructure!

    If you encounter any challenges in the process or need further clarification on any aspect, please don't hesitate to reach out to us at [email protected].

    Supported Currencies

    Part of inabit's Crypto <> Bank Service

    Currency
    Availability

    AED

    SWIFT

    ARS

    Bank Transfer

    AUD

    SWIFT

    BOB

    on request

    BRL

    on request

    35.233.10.83
  • Maintain a secure and encrypted mapping between anonymized tokens and actual client identifiers in your systems.

  • Use role-based access controls to limit who can access this mapping.

  • GraphQL API Usage:

    • Always pass anonymized tokens when interacting with inabit's GraphQL API.

    • Avoid including any sensitive information or PII in your API requests.

  • Operational Flexibility:

    • Anonymized tokens enable seamless integration with inabit’s API without compromising sensitive data.

  • Client Trust:

    • By adhering to a privacy-first approach, you demonstrate a strong commitment to protecting your clients’ data.

  • GraphQL Query/Mutation

    Field Name

    Description

    createWallet

    externalWalletId

    An identifier used to associate wallets with clients.

    createTransferRequest

    externalTransactionId

    A unique identifier to track client transactions.

    addContact

    externalContactId

    Used to identify contacts of asset transfers.

    BWP

    Launching Soon

    CAD

    SWIFT

    CHF

    SWIFT

    CLP

    on request

    CNY

    on request

    COP

    Bank Transfer

    CRC

    on request

    DOP

    on request

    Euro

    SEPA or SWIFT

    GBP

    SWIFT

    GHS

    on request

    GTQ

    on request

    HNL

    on request

    HKD

    SWIFT

    IDR

    SWIFT

    INR

    SWIFT

    JPY

    SWIFT

    KES

    on request

    KRW

    SWIFT

    MWK

    Launching Soon

    MXN

    on request

    MYR

    SWIFT

    MZN

    on request

    NGN

    on request

    NZD

    on request

    PEN

    on request

    PHP

    SWIFT

    PYG

    on request

    SGD

    SWIFT

    THB

    Launching Soon

    TZS

    on request

    UGX

    ACH or SWIFT

    USD

    on request

    UYU

    Launching Soon

    VND

    Launching Soon

    XAF

    on request

    XOF

    SWIFT

    ZAR

    on request

    ZMW

    on request

    ZWL

    on request

    ZWL

    Launching Soon

    VND

    Launching Soon

    MWK

    Launching Soon

    MWK

    Launching Soon

    Automate Signing Transactions
  • Receive Webhooks on Transaction Events

  • Customer
    B
    is requesting a withdrawal from using your wallet's interface (the provider).
    • Send a Money Transfer Request to inabit's API.

  • The transaction goes through approval process (Docker Signer)

    • The approval/rejection logic will rely on anything you develop on your end. You can decide what ever you want.

  • Once transaction is approved, funds are taken out of Customer B's API wallet (within the wallet provider's inabit account) and the transaction is broadcasted to the blockchain.

  • Once the transaction is broadcasted and completed, inabit sends two notifications (via webhooks) to notify the following:

    • Transaction was completed

    • Customer B's wallet (and asset) balance we're updated.

  • blockchainId*

    String

    Blockchain ID

    note

    String

    Transaction Note

    priority

    String

    Transaction Priority

    (Slow, medium, fast, etc.)

    blockchainId*

    string

    ID of the blockchain in inabit

    financialAssetId*

    string

    ID of the financial asset in inabit (can be token/native)

    organizationId*

    string

    ID of the organization in inabit

    walletId*

    String

    Wallet ID

    financialAssetId*

    String

    Asset ID

    address*

    String

    From Address (Source)

    amount*

    Integer

    Transfer amount

    API Admin
    Approvals Docker Configuration
    API signer Setup
    API Login Access / Authentication
    Create Transfer Requests in API
    Create API wallet addresses
    Remote & Automatic Approvals (Docker Configuration)
    generate API wallet addresses
    Authentication
    Wallets Info
    Automate Signing Transactions
    Webhooks and Notifications
    mutation CreateApiWalletAddress($data: ApiWalletCreateAddressInput!) {
      createApiWalletAddress(data: $data) {
        address
        walletId
      }
    }
    {
      "data": {
        "blockchainId": "clefn78cl00i3lc6rih442mx9",
        "financialAssetId": "clefn78h5012plc6rxbmofnop",
        "organizationId": "clsu8bel7000dlciyfdfbmwcw"
      }
    }
    {
    	"data": {
    		"createApiWalletAddress": {
    			"address": "0xcc918e16bc528bf58fc250f56898c7d917d33de2",
    			"walletId": "cluicfnpb000066015d3narbc"
    		}
    	}
    }
    {
      "error": "Invalid request"
    }
    mutation CreateWithdrawal($data: WithdrawalCreateInput!) {
      createWithdrawal(data: $data) {
        id
      }
    }
    {
    	"data": {
    		"wallet": {
    			"id": "clol7o576002oaz011mmtnvru"
    		},
    		"financialAsset": {
    			"id": "clefn78gv011olc6rcwtt0wel"
    		},
    		"address": "0x7582f3483116105e0b7845ac1a0df5eb0c8cd062",
    		"amount": 5,
    		"blockchain": {
    			"id": "clefn78em00mslc6r3lzf3h5a"
    		},
    		"note": "",
    		"priority": "Medium"
    	}
    }
    {
    	"data": {
    		"createWithdrawal": {
    			"id": "clpgvrjb700136g01lr3o0tgv",
    		}
    	}
    }
    {
      "error": "Invalid request"
    }
    Copy the Kraken description displayed on your screen.
    Check out how this Partnership Boost Efficiency in Digital Assets.Crypto Accounting for Accountants | Cryptoworth Blog
    [email protected]

    inabit x Crypto Clearing Services

    An example use case of how inabit's API Infrastructure is utilized

    Overview

    Welcome to the comprehensive guide on leveraging inabit's digital wallet infrastructure. As a digital wallet infrastructure provider, inabit is dedicated to streamlining operations for clearing services like yours. This guide will walk you through the seamless integration and management of your digital wallet operations, ensuring security, efficiency, and scalability.

    Prerequisites

    Before diving into the setup, ensure you have:

    • Have an user created for your organization in inabit.

    • Access to the inabit platform (as the Clearer):

      • Have an account ready to be used.

      • Create an inabit "Main" wallet via the platform's UI.

    🚧 One-time Must-Have Setup:

    Please ensure that you complete the and execute the as a one-time prerequisite. Once this step is accomplished, you will be able to create your API wallets and addresses as needed.

    Additional Reference

    We highly advise taking a look at the following guides as you develop your crypto clearing application with inabit:

    Technical Architecture: How Transactions Flow?

    The architectural diagram depicts the wallet infrastructure utilizing Inabit for clearers (Clearing service providers). The process primarily involves customer actions and the reception of API information. Below is a breakdown of the workflow outlined in the diagram:

    Clearer Flow Explained

    Customer (Clearer's customer)

    • Customer is requesting to deposit funds in crypto and be credited with balance in the clearer's application.

    • Clearer initiates a request to inabit's API to generate a dedicated deposit address (API wallet) for the customer (step 1 in the flow).

      • Refer to the first section below to learn how to .

    • The Clearer fetches the address and displays it in the Clearing Service UI for customer

    Now that the flow is clear, let's review the implementation process step by step! ✨

    1. Generate API Wallet Addresses for Customers

    The clearing service (clearer) develops a logic that on every crypto deposit request their customer makes, a new inabit API wallet and address are created.

    The clearer then saves this API walletId to associate it with their customer in the clearer's database.

    In order to generate the API wallet address for the customer's deposit, call the following mutation:

    Remember to authenticate to call our graphQL API using an access token (bearer) with your API Admin credentials. (If you're not sure how, refer to )

    Don't have an API Admin/API Signer yet? contact us at [email protected] to create one!

    CreateApiWalletAddress Mutation:

    Body (ApiWalletCreateAddressInput object)

    Name
    Type
    Description

    Example body:

    Response

    In the mutation's response, you should receive the deposit address for the blockchain and asset you've requested, as well as the inabit API wallet ID for the customer (which you can later save and relate to the specific customer, in order to identify a customer's inabit API wallet).

    Reminder - You can always query data and fetch all API wallets & their blockchain address in your organization when needed. Refer to .

    2. Customer Transfers Crypto to their Wallet Address

    In order to receive a notification that the customer sent funds successfully to their inabit API wallet address, you will need to register to our webhook subscription service and create a subscription for your organization.

    Please refer to 📣 for further information.

    3. Clearer Transfers Fees/Gas from their Wallet to Customer's Wallet

    Once the clearer (you) receives a successful webhook for a received transaction in the customer's wallet (status update that txn was successful and funds are in the customer's wallet)

    The clearer should issue an additional transfer from the wallet intended for fees, to the customer's wallet in order be able to withdraw the customer's deposited funds.

    This step is applicable only in cases where the user transfers tokens, native blockchain assets can be transferred if they complete a sufficient amount to pay for the transaction fee.

    Take this into consideration when transferring funds from your "fees" wallet.

    Let's put this into an actual example:

    • Customer transfers USDT in Ethereum blockchain.

    • Clearer (you) receives transaction webhook that it was completed.

    • Clearer (you) initiates a withdrawal for Ethereum from the fees API wallet to the designated customer wallet, in order to withdraw the funds afterwards. (step 4)

    How to Withdraw/Transfer Gas Funds to the Customers Wallet?

    CreateWithdrawal Mutation:

    Body (WithdrawalCreateInput object)

    Name
    Type
    Description

    Example body:

    Response

    In the mutation's response, you should receive the withdrawal ID.

    🚧 Approval Required

    Note that withdrawals will require an approval. In this case, approvals are given automatically according to the logic decided by the clearer (you), through the automatic approvals application (docker).

    If you feel like you've missed this step, please check prerequisite once more and refer to our additional reference section at the beginning of the page.

    4. Clearer Sends Funds From Customer's Wallet to their "Main" Wallet

    Now that the customer's API wallet has enough funds for fee, the final step of the flow would be to send the crypto amount deposited by the customer - to the clearer's (you) "main" wallet. (that we created as a prerequisite.

    This step would require an additional withdrawal mutation to be called upon, but this time using the customer's walletId with the financialAssetId of the deposited crypto, and to the destination address in the main wallet.

    🚧 Approval Required

    Once again, approvals in this step are happening automatically according to the logic decided by the clearer, within the automatic approvals application (docker).

    If you feel like you've missed this step, please check prerequisite once more and refer to our additional reference section at the beginning of the page.

    Congratulations! 🎉👏

    Your clearing service, powered by our infrastructure, is fully operational, functional, and secure!

    If you encounter any challenges in the process or need further clarification on any aspect, please don't hesitate to reach out to us at [email protected].

    This wallet will serve as the funding route for the Clearer.

  • Create an additional inabit wallet and deposit funds for fee:

    • If you're clearing Ethereum / tokens in Ethereum chain - deposit ETH.

    • If you're clearing in TRON / tokens in TRON chain - deposit TRX. (and so on, refer to Supported Blockchains)

  • Necessary access permissions setup.

    • Eligible roles - Owner / Admin / API Admin.

  • Automate Signing Transactions
  • Receive Webhooks on Transaction Events

  • Customer copies the address from the Clearer's UI and deposits crypto funds to the address. (step 2)

  • Funds are retrieved to the inabit generated wallet & address for customer (Customer's inabit API wallet ).

    • Notice that there are more than one customer API wallet within the Clearer's inabit account. This is to emphasize that the clearer needs only one inabit account. ()

    • inabit also sends a new transaction event webhook to the clearer during this time.

  • The clearer issues a withdrawal from the inabit wallet that contains native assets (for fee payment purposes) and transfers the "gas" to the desired customer API wallet (API wallet F in this case) (step 3)

  • Once gas funds arrive to customer API wallet, the clearer issues a second withdrawal to release the deposited funds that customer deposited earlier. (step 4)

  • blockchainId*

    String

    Blockchain ID

    note

    String

    Transaction Note

    priority

    String

    Transaction Priority

    (Slow, medium, fast, etc.)

    blockchainId*

    string

    ID of the blockchain in inabit

    financialAssetId*

    string

    ID of the financial asset in inabit (can be token/native)

    organizationId*

    string

    ID of the organization in inabit

    walletId*

    String

    Wallet ID

    financialAssetId*

    String

    Asset ID

    address*

    String

    From Address (Source)

    amount*

    Integer

    Transfer amount

    API Admin
    Approvals Docker Configuration
    API signer Setup
    API Login Access / Authentication
    Create Transfer Requests in API
    Create API wallet addresses
    Remote & Automatic Approvals (Docker Configuration)
    generate API wallet addresses
    Authentication
    Wallets Info
    Webhooks and Notifications
    mutation CreateApiWalletAddress($data: ApiWalletCreateAddressInput!) {
      createApiWalletAddress(data: $data) {
        address
        walletId
      }
    }
    {
      "data": {
        "blockchainId": "clefn78cl00i3lc6rih442mx9",
        "financialAssetId": "clefn78h5012plc6rxbmofnop",
        "organizationId": "clsu8bel7000dlciyfdfbmwcw"
      }
    }
    {
    	"data": {
    		"createApiWalletAddress": {
    			"address": "0xcc918e16bc528bf58fc250f56898c7d917d33de2",
    			"walletId": "cluicfnpb000066015d3narbc"
    		}
    	}
    }
    {
      "error": "Invalid request"
    }
    mutation CreateWithdrawal($data: WithdrawalCreateInput!) {
      createWithdrawal(data: $data) {
        id
      }
    }
    {
    	"data": {
    		"wallet": {
    			"id": "clol7o576002oaz011mmtnvru"
    		},
    		"financialAsset": {
    			"id": "clefn78gv011olc6rcwtt0wel"
    		},
    		"address": "0x7582f3483116105e0b7845ac1a0df5eb0c8cd062",
    		"amount": 5,
    		"blockchain": {
    			"id": "clefn78em00mslc6r3lzf3h5a"
    		},
    		"note": "",
    		"priority": "Medium"
    	}
    }
    {
    	"data": {
    		"createWithdrawal": {
    			"id": "clpgvrjb700136g01lr3o0tgv",
    		}
    	}
    }
    {
      "error": "Invalid request"
    }

    Supported Countries

    Part of inabit's Crypto <> Bank Service

    Country
    Can Pay From
    Can Pay To

    Afghanistan

    ✘

    ✘

    Albania

    ✘

    ✘

    Algeria

    ✔

    ✔

    American Samoa

    ✔

    ✔

    Andorra

    ✔

    ✔

    Angola

    ✔

    ✔

    Anguilla

    ✔

    ✔

    Antarctica

    ✔

    ✔

    Antigua And Barbuda

    ✔

    ✔

    Argentina

    ✔

    ✔

    Armenia

    ✔

    ✔

    Aruba

    ✔

    ✔

    Australia

    ✔

    ✔

    Austria

    ✔

    ✔

    Azerbaijan

    ✔

    ✔

    Bahamas

    ✔

    ✔

    Bahrain

    ✔

    ✔

    Bangladesh

    ✔

    ✔

    Barbados

    ✘

    ✘

    Belarus

    ✘

    ✘

    Belgium

    ✔

    ✔

    Belize

    ✔

    ✔

    Benin

    ✔

    ✔

    Bermuda

    ✔

    ✔

    Bhutan

    ✔

    ✔

    Bolivia

    ✔

    ✔

    Bonaire Saint Eustatius And Saba

    ✔

    ✔

    Bosnia & Herzegovina

    ✔

    ✔

    Botswana

    ✔

    ✔

    Bouvet Island

    ✔

    ✔

    Brazil

    ✔

    ✔

    British Indian Ocean Territory

    ✔

    ✔

    Brunei Darussalam

    ✘

    ✘

    Bulgaria

    ✔

    ✔

    Burkina Faso

    ✔

    ✔

    Burundi

    ✔

    ✔

    Cabo Verde

    ✘

    ✘

    Cambodia

    ✔

    ✔

    Cameroon

    ✘

    ✘

    Canada

    ✘

    ✘

    Cayman Islands

    ✔

    ✔

    Central African Republic

    ✔

    ✔

    Chad

    ✔

    ✔

    Chile

    ✔

    ✔

    China

    ✔

    ✔

    Christmas Island

    ✔

    ✔

    Cocos (Keeling) Islands

    ✔

    ✔

    Colombia

    ✘

    ✘

    Comoros

    ✔

    ✔

    Congo

    ✔

    ✔

    Cook Islands

    ✘

    ✘

    Costa Rica

    ✘

    ✘

    Croatia

    ✔

    ✔

    Cuba

    ✔

    ✔

    Curacao

    ✔

    ✔

    Cyprus

    ✔

    ✔

    Czech Republic

    ✔

    ✔

    Côte d'Ivoire

    ✔

    ✔

    Denmark

    ✔

    ✔

    Djibouti

    ✔

    ✔

    Dominica

    ✔

    ✔

    Dominican Republic

    ✔

    ✔

    Ecuador

    ✔

    ✔

    Egypt

    ✔

    ✔

    El Salvador

    ✔

    ✔

    Equatorial Guinea

    ✘

    ✘

    Eritrea

    ✔

    ✔

    Estonia

    ✔

    ✔

    Ethiopia

    ✔

    ✔

    Falkland Islands

    ✔

    ✔

    Faroe Islands

    ✔

    ✔

    Fiji

    ✔

    ✔

    Finland

    ✔

    ✔

    France

    ✔

    ✔

    French Guiana

    ✔

    ✔

    French Polynesia

    ✔

    ✔

    French Southern Territories

    ✔

    ✔

    Gabon

    ✘

    ✘

    Gambia

    ✔

    ✔

    Georgia

    ✔

    ✔

    Germany

    ✔

    ✔

    Ghana

    ✔

    ✔

    Gibraltar

    ✔

    ✔

    Greece

    ✘

    ✘

    Greenland

    ✔

    ✔

    Grenada

    ✔

    ✔

    Guadeloupe

    ✘

    ✘

    Guam

    ✘

    ✘

    Guatemala

    ✔

    ✔

    Guernsey

    ✘

    ✘

    Guinea

    ✔

    ✔

    Guinea-Bissau

    ✔

    ✔

    Guyana

    ✔

    ✔

    Haiti

    ✔

    ✔

    Heard Island And McDonald Islands

    ✔

    ✔

    Honduras

    ✔

    ✔

    Hong Kong

    ✘

    ✘

    Hungary

    ✔

    ✔

    Iceland

    ✔

    ✔

    Åland Islands

    ✔

    ✔

    India

    ✔

    ✔

    Indonesia

    ✘

    ✘

    Iran

    ✔

    ✔

    Iraq

    ✔

    ✔

    Ireland

    ✔

    ✔

    Isle Of Man

    ✔

    ✔

    Israel

    ✔

    ✔

    Italy

    ✔

    ✔

    Jamaica

    ✔

    ✔

    Japan

    ✔

    ✔

    Jersey

    ✔

    ✔

    Jordan

    ✘

    ✘

    Kazakhstan

    ✔

    ✔

    Kenya

    ✔

    ✔

    Kiribati

    ✔

    ✔

    Kosovo

    ✔

    ✔

    Kuwait

    ✔

    ✔

    Kyrgyzstan

    ✔

    ✔

    Laos

    ✔

    ✔

    Latvia

    ✔

    ✔

    Lebanon

    ✘

    ✘

    Lesotho

    ✔

    ✔

    Liberia

    ✔

    ✔

    Libya

    ✘

    ✘

    Liechtenstein

    ✔

    ✔

    Lithuania

    ✔

    ✔

    Luxembourg

    ✔

    ✔

    Macao

    ✔

    ✔

    Macedonia

    ✔

    ✔

    Madagascar

    ✔

    ✔

    Malawi

    ✔

    ✔

    Malaysia

    ✔

    ✔

    Maldives

    ✔

    ✔

    Mali

    ✘

    ✘

    Malta

    ✔

    ✔

    Marshall Islands

    ✔

    ✔

    Martinique

    ✔

    ✔

    Logo