Version 1.0.0 Release Notes
We are thrilled to announce a new update to the Eniblock SDK, designed with an eye on flexibility, security, and precision. This release brings about several impactful changes that not only enhance the functionality but also elevate the security parameters, in line with our unwavering commitment to providing a robust and reliable solution for Web 3 applications.
Highlights of This Release
Self-Selection of SDK Subscription Tier
We've introduced multiple subscription plans tailored to meet the requirements of diverse projects, whether you are a beginner working on a small project or a large enterprise with specific needs.
Comprehensive Security Measures
Security remains at the forefront of our offering. We have conducted extensive penetration tests and cryptographic audits to ensure that our SDK stands up to the most stringent security standards.
Multi-Type Balance Management
The balance management in the SDK now features the BigNumber class for high-precision calculations, providing greater accuracy in financial transactions.
New
Self-Selection of SDK Subscription Tier
Our SDK now offers multiple subscription tiers to cater to a range of user needs and use-cases:
-
Free Plan: Ideal for beginners or small projects
Cost: Completely free; no credit card required for registration.
-
Features:
Up to 500 free wallets for end-users.
Get started immediately on Testnet.
Community support via Discord.
Access to live code examples and starter kits for React, Angular, and Vue.js.
3 separate applications for dev, testing, and production environments.
Participate in feature roadmap discussions.
-
Pro Plan: Designed for professional deployments
Cost: 490€/mo
-
Features:
A bundle of 2500 wallets for end-users.
Premium support via a dedicated platform.
Option for additional wallets with setup fees.
Unlimited applications for multiple environments.
-
Enterprise Plan: Customizable to your business needs
Cost: Custom pricing, starting at 990€/mo
-
Features:
Custom number of wallets.
Custom infrastructure for large-scale user onboarding.
Dedicated Customer Success Manager (CSM).
Comprehensive Penetration Testing

We have undertaken a comprehensive series of in-depth intrusion tests on the SDK code, APIs, and infrastructure to identify and mitigate any potential security vulnerabilities.
Industry Security Standards: Our testing procedures align with industry-standard security guidelines, including the OWASP (Open Web Application Security Project) Top 10 API Security Risks.
Expertise in Penetration Testing: These penetration tests have been conducted by Yogosha, a leading company in the cybersecurity field, thus ensuring a high level of expertise and scrutiny.
Pentest As A Service (PASS): This proactive testing methodology is conducted recurrently through our Pentest As A Service (PASS) offering.
Stringent Security Policy: This initiative is part and parcel of our rigorous security policy, aimed at providing both our users and yours with a consistently high level of security.
Cryptographic Protocol Code Audit

At Eniblock, we proactively champion the highest levels of security and reliability in our cryptographic solutions. To underscore this commitment, we've conducted a comprehensive code audit focused on key components like key generation, key derivation, and signing protocols—areas that require specialized cryptographic expertise.
Expert Audit: The audit was entrusted to QuarksLab, a third-party entity with a solid reputation and deep expertise in cryptographic modules.
Clear Objectives: Our goal is unambiguous: to identify and rectify any existing vulnerabilities or weaknesses that could jeopardize the resilience of our cryptographic module.
Holistic Testing: This specialized audit complements our exhaustive intrusion testing, offering an in-depth analysis of the nuances within our cryptographic framework.
At the core of our wallet service lies an unwavering commitment to safeguarding users' digital assets. Our cryptographic strategies serve as the cornerstone of this protection.
Network Selection
The Eniblock SDK now offers robust support for the Polygon Network, ensuring seamless compatibility across all EVM (Ethereum Virtual Machine)-compatible blockchains.
Changing networks is now a breeze—simply refer to the "Select the Network" section for guidance on how to switch networks effortlessly.
// Initialize the SDK.
const sdk = new Eniblock({
appId: "eniblock-dev-portal",
accessTokenProvider: getAccessToken,
storageItems: [{ storage: new UnsafeStorage() }],
});
// Switch to Mainnet.
await sdk.setNetwork(NetworkEnum.POLYGON_MAINNET);
Improvements
Multi-Type Balance Management
We've made significant improvements to the balance management in your wallet by introducing the BigNumber class for all output-related calculations:
BigNumber: The BigNumber class has been implemented for all output operations, replacing previous String or Number types. This class offers high-precision calculations and is perfect for accurately representing both integer and decimal balances.
Raw Balance Property: Associated with the BigNumber is the
rawBalance
property, formatted as a BigIntValue. This property contains the actual BigInt value along with the associated number of decimals for even greater precision.String Inputs Still Supported: While we've optimized the output for precision, you can still use String types for input operations. For example, you can define transfer amounts using a string, maintaining the flexibility you've been accustomed to.
Here is an example demonstrating how to display the total balance for each symbol across all accounts in the wallet (cf List Wallet Accounts):
let totalBalances = {}; // Initialize an object to keep track of the total balance per symbol
// Use a for...of loop with async to print details of each account
for (const account of accounts.data) {
const accountNativeBalance = await sdk.utils.getNativeBalance(account.address);
// Update the total balance
let symbol = accountNativeBalance.symbol;
let balance = accountNativeBalance.balance;
totalBalances[symbol] = (totalBalances[symbol] || new BigNumber(0)).plus(balance);
}
// Now log the total balance to the console per symbol
for (let symbol in totalBalances) {
console.log(`Total Balance in Wallet for ${symbol}: ${totalBalances[symbol]}`);
}
Known Issues
Error Occurring When Deleting a Wallet with Alchemy Free Plan Configuration #550. There is no occurrence of this error when using a Pro Plan.