> For the complete documentation index, see [llms.txt](https://docs.orbs.network/v3/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.orbs.network/v3/orbs-lambda/step-by-step-overview/index.js-implementation/allowed-packages.md).

# Allowed Packages

A lambda may require specific [NPM packages](https://npmjs.com/) that are present in this list. To request any additional NPM packages to be whitelisted, please open an issue on the main [Orbs Lambda repo](https://github.com/orbs-network/orbs-lambda).

You can see the exact versions of all packages by inspecting [`package.json`](https://github.com/orbs-network/orbs-lambda/blob/master/package.json) in the main Orbs Lambda repo.

## web3

Package: <https://www.npmjs.com/package/web3>

Provides basic interaction with EVM blockchains and smart contracts through simple JavaScript API. Note that most trigger event handlers receive an initialized `web3` object that is ready for mainnet interaction.

<pre class="language-javascript"><code class="lang-javascript"><strong>const Web3 = require("web3");
</strong></code></pre>

## ethereum-multicall

Package: <https://www.npmjs.com/package/ethereum-multicall>

Multicall allows multiple smart contract constant function calls to be grouped into a single call and the results aggregated into a single result. This reduces the number of separate JSON RPC requests that need to be sent over the network and provides the guarantee that all values returned are from the same block.

```javascript
const { Multicall } = require("ethereum-multicall");
```

## bn.js

Package: <https://www.npmjs.com/package/bn.js>

Big numbers in JavaScript without floating point support, only integers. Compatible with the numeric types of all EVM blockchains.

```javascript
const BN = require("bn.js");
```

## bignumber.js

Package: <https://www.npmjs.com/package/bignumber.js>

A JavaScript library for arbitrary-precision decimal and non-decimal arithmetic. Supports floating point numbers, not just integers.

```javascript
const BigNumber = require("bignumber.js");
```

## node-fetch

Package: <https://www.npmjs.com/package/node-fetch>

A light-weight module that brings [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) to Node.js and allows to make arbitrary HTTP requests to external websites and endpoints.

```javascript
const fetch = require("node-fetch");
```

## axios

Package: <https://www.npmjs.com/package/axios>

Promise based HTTP client for the browser and Node.js. Different package that allows to make arbitrary HTTP requests to external websites and endpoints.

```javascript
const axios = require("axios").default;
```

## @orbs-network/\*

Packages: <https://www.npmjs.com/org/orbs-network>

All packages published by the Orbs organization on NPM are allowed for use.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.orbs.network/v3/orbs-lambda/step-by-step-overview/index.js-implementation/allowed-packages.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
