
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@dfinity/icp-calculator
Advanced tools
A calculator of fees and costs for smart contracts on the Internet Computer Protocol (ICP)
This repository contains a utility library that implements a calculator of fees and costs for smart contracts on the Internet Computer Protocol (ICP).
Currently it supports the following operations and resources:
More will be added in the future.
# with npm
npm install @dfinity/icp-calculator
# with pnpm
pnpm add @dfinity/icp-calculator
# with yarn
yarn add @dfinity/icp-calculator
See src/index.spec.ts for more examples of usage.
import {
calculators,
Direction,
Duration,
Mode,
} from "@dfinity/icp-calculator";
import type { Bytes, Instructions } from "@dfinity/icp-calculator";
const $ = calculators().calculatorUSD;
const storage1mb = $.storage(1_000_000 as Bytes, Duration.fromDays(365));
const execute1b = $.execution(Mode.Replicated, 1_000_000_000 as Instructions);
const send1mb = $.message(
Mode.Replicated,
Direction.UserToCanister,
1_000_000 as Bytes,
);
expect(storage1mb).toBeCloseTo(0.00494, 5);
expect(execute1b).toBeCloseTo(0.00053, 5);
expect(send1mb).toBeCloseTo(0.00265, 5);
The main logic of the calculator is in src/calculator.ts.
The code there mirrors the replica code and it depends on the replica config, which is stored in src/icp/config.json.
The JSON config file is generated by the icp_config tool in the replica repository.
The JSON config file can be updated as follows:
# Check out `https://github.com/dfinity/ic` to `~/ic`
# Check out `https://github.com/dfinity/icp-calculator` to `~/icp-calculator`
cd ~/ic
bazel run //rs/execution_environment/tools:icp_config -- --replica-version=rc--2024-07-25_01-30 --output=~/icp-calculator/src/icp/config.json
@dfinity/icp-calculator exposes following types and functions:
The main export of the library. It returns cost calculators that operate in cycles and USD based on the given options.
| Function | Type |
|---|---|
calculators | (options?: Options or undefined) => Calculators |
Parameters:
options: - optional options to configure the calculators.FAQs
A calculator of fees and costs for smart contracts on the Internet Computer Protocol (ICP)
The npm package @dfinity/icp-calculator receives a total of 30 weekly downloads. As such, @dfinity/icp-calculator popularity was classified as not popular.
We found that @dfinity/icp-calculator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 11 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.