Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
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.
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.
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.
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.
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.
Read our documentation and get up to speed on how to access our API capabilities.
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.
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.
If you have questions or suggestions, our support team is here for you: [email protected].
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)
An approver is a platform user with signing permissions that successfully paired their device. Applicable approver roles: (signer, admin, owner)
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.
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).
This policy setting is also selected by default and defines wether the wallet's funds can be used for off ramp transfers or not.
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:
Transaction amount range.
Dedicated transaction approvers.
Minimum amount of approvals. (Taken from the dedicated transaction approvers)
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:
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.
You can dispose of a previous tier by clicking on the trash icon on the right hand side of the tier -
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.
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.






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.
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.
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.
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.
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.
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.
Part of inabit's Crypto <> Bank Service
Enable On-Ramping for your inabit account? Apply Here
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.
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.
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.
Inabit supports USDT on the Ethereum, TRON, and Polygon networks, as well as USDC on the Ethereum network.
Discover what Disaster Recovery means in cryptocurrency and how it works in inabit
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.
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.
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)
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.


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:
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.
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.
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.
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.
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.
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.
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.
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.
Learn about inabit's device pairing and its use in our platform
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.
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.
Follow these steps to pair your mobile device with the inabit platform:
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.
Open the App:
Locate the inabit app icon on your mobile device and tap to open it.
Sign In with your preferred cloud of choice:
Google Drive (iOS / Android)
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."
Scan the QR code to get the Pairing Code in the App:
Log In to inabit Platform:
On your computer or another device, log in to the inabit platform using your account credentials.
Access Device Pairing Option:
Navigate to your user and find the option of "Pair Device".
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!
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.
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.
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.
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 Exchange Integration with inabit
We don't currently offer support for Binance US exchange accounts. This connection is specific to Binance accounts exclusively.
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.
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!
This page clarifies the relationships between accounts, organizations, and users within the Inabit system.
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.
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)
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.
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.
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:
Read our documentation and get up to speed on how to access our API capabilities.
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.
Part of inabit's Crypto <> Bank Service
Accelerating transactions in Bitcoin - How does it work and how inabit utilizes it?
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)

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:
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]
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.
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:
API key (the one saved from Binance)
Secret key (the one saved from Binance)
Click on "Connect Exchange".


35.233.10.83The 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.
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
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.
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.
Inabit supports USDT on the Ethereum, TRON, and Polygon networks, as well as USDC on the Ethereum network.
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.
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.
Trusted Execution Environment (TEE)
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).
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).
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.
An example use case of how inabit's API Infrastructure is utilized
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.
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.
We highly advise taking a look at the following guides as you develop your crypto clearing application with inabit:
TBD
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].
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:
The core offering of inabit, these wallets are designed for seamless management of digital assets within the inabit ecosystem.
An example use case of how inabit's API Infrastructure is utilized
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.
Trusted Execution Environment (TEE)
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.
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.
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
Receive Webhooks on Transaction Events
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.
Storing and managing personal or business digital assets.
Performing blockchain transactions securely.
These wallets are purpose-built for developers and businesses who wish to integrate wallet functionality directly into their applications using the inabit API.
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.
Embedding crypto wallet functionality into fintech applications.
Businesses needing bulk wallet creation and transaction execution.
Specifically tailored for companies managing assets on exchanges, these wallets are designed to simplify interactions with exchange platforms.
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.
Traders and institutions managing assets across multiple exchanges.
Businesses requiring swift liquidity management.
These wallets connect directly with decentralized applications (dApps) and smart contracts, empowering users in the Web3 ecosystem.
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.
Individuals and businesses engaging with DeFi protocols.
Developers building Web3 applications requiring wallet connectivity.
These wallets are designed for businesses and organizations that require detailed transaction oversight and reporting.
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).
Compliance teams ensuring adherence to AML (Anti-Money Laundering) and other regulatory requirements.
Organizations needing granular control over wallet activity and fund movement.
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!
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.
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.
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.
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.
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.)
In order to access our API capabilities and authenticate queries and mutations, you must create an API Admin/Viewer.
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.
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.
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]
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.
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.
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:
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 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:
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
Which exchange connections inabit currently supports
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).
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.
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.
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.
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.
Keep track on what's new/changed in inabit 📝
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
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
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:
35.233.10.83Generation 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.






Encrypted Master Key
Encrypted Wallets Key
Encrypted Password (for Wallets Key file)
The flow of recovering your all of your organization's mnemonics, is split between two parts:
Issuing disaster recovery through inabit's platform (as the account Owner) and downloading the recovery package from the mobile application.
Extracting the walletKey file from Vaultinum.
Decrypting the mnemonics file using all three files.
In this page we'll go over the recovery flow and all three steps above.
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 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.
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! ✔️
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].
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:
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!
Before whitelisting a inabit address on Kraken, lets understand what are Kraken Descriptions and why are they crucial for transferring through Kraken connected wallets.
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].
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.
inabit API's Data Privacy and Protection Policy Guidelines
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.
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.
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.
To align with inabit's privacy policies and maximize security, we recommend the following practices:
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.
Secure Internal Mapping:
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.
Enhanced Security:
Sensitive client data stays under your control and never enters inabit’s systems, reducing the risk of breaches.
Regulatory Compliance:
This setup supports compliance with privacy regulations like GDPR, CCPA, and other regional laws.
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.
An example use case of how inabit's API Infrastructure is utilized.
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.
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.
We highly advise taking a look at the following guides as you start developing your wallet as a service with inabit.
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.
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! ✨
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)
Example body:
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).
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)
Example body:
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.
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 .
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.
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.
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].
Part of inabit's Crypto <> Bank Service
AED
SWIFT
ARS
Bank Transfer
AUD
SWIFT
BOB
on request
BRL
on request
35.233.10.83Maintain 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






Receive Webhooks on Transaction Events
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
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"
}






An example use case of how inabit's API Infrastructure is utilized
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.
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.
We highly advise taking a look at the following guides as you develop your crypto clearing application with inabit:
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:
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! ✨
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:
Example body:
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 .
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.
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.
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?
Example body:
In the mutation's response, you should receive the withdrawal ID.
🚧 Approval RequiredNote 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.
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 RequiredOnce 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.
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.
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
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"
}
Part of inabit's Crypto <> Bank Service
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
✔
✔
