diff --git a/docs/tools/erc725js/getting-started.md b/docs/tools/erc725js/getting-started.md
index d2527739e..28e52c46a 100644
--- a/docs/tools/erc725js/getting-started.md
+++ b/docs/tools/erc725js/getting-started.md
@@ -134,6 +134,10 @@ const verifiableURI = encodeDataSourceWithHash(
Try running the code snippets below within your browser using [StackBlitz](https://stackblitz.com/edit/erc725js-instantiation?devtoolsheight=66&file=index.js).
:::
+The _erc725.js_ contains multiple functionalities such as reading and decoding data. A full list is available under the [**Methods**](./methods.md) page.
+
+For fetching data, it is possible to query one data key (as a `string` name) or multiple data keys at once by passing an array parameter, as shown below.
+
```js
await erc725.getOwner();
// > '0x28D25E70819140daF65b724158D00c373D1a18ee'
diff --git a/docs/tools/erc725js/methods.md b/docs/tools/erc725js/methods.md
index 35b1bed8e..7db0ba5e7 100644
--- a/docs/tools/erc725js/methods.md
+++ b/docs/tools/erc725js/methods.md
@@ -508,6 +508,64 @@ ERC725.encodeData(
+Encode a tuple of
+
+```ts title="Encode a tuple of CompactBytesArray"
+import ERC725 from '@erc725/erc725.js';
+
+const schemas = [
+{
+ name: 'AddressPermissions:AllowedCalls:',
+ key: '0x4b80742de2bf393a64c70000',
+ keyType: 'MappingWithGrouping',
+ valueType: '(bytes4,address,bytes4,bytes4)[CompactBytesArray]',
+ valueContent: '(BitArray,Address,Bytes4,Bytes4)',
+ }
+];
+
+ERC725.encodeData(
+ [
+ {
+ keyName: 'AddressPermissions:AllowedCalls:',
+ dynamicKeyParts: "0xcafecafecafecafecafecafecafecafecafecafe"
+ value: [
+ '0x00000003', // CALL and TRANSFERVALUE
+ '0xCA41e4ea94c8fA99889c8EA2c8948768cBaf4bc0', // addresses are decoded as checksummed
+ '0x3e89ad98', // LSP0 interface ID
+ '0xffffffff', // any function
+ ],
+ [
+ '0x00000002', // CALL only
+ '0xF70Ce3b58f275A4c28d06C98615760dDe774DE57',
+ '0xffffffff', // any standard interface ID
+ '0x760d9bba', // function selector of `transfer(address,address,uint256,bool,bytes)`
+ ],
+ [
+ '0x00000001', // TRANSFERVALUE only
+ '0xd3236aa1B8A4dDe5eA375fd1F2Fb5c354e686c9f',
+ '0xffffffff', // any standard interface ID
+ '0xffffffff', // any function
+ ],
+ },
+ ],
+ schemas,
+);
+/**
+{
+ keys: [
+ '0x4b80742de2bf393a64c70000cafecafecafecafecafecafecafecafecafecafe', // -> data key for `AddressPermissions:AllowedCalls:0xcafecafecafecafecafecafecafecafecafecafe`
+ ],
+ values: [
+ '0x002000000003ca41e4ea94c8fa99889c8ea2c8948768cbaf4bc03e89ad98ffffffff002000000002f70ce3b58f275a4c28d06c98615760dde774de57ffffffff760d9bba002000000001d3236aa1b8a4dde5ea375fd1f2fb5c354e686c9fffffffffffffffff', // (bytes4,address,bytes4,bytes4)[CompactBytesArray]
+ ],
+}
+*/
+
+```
+
+CompactBytesArray