Integration Guides

Using @maroo-chain/contracts in Your Project

Install the @maroo-chain/contracts npm package, import the Solidity precompile interfaces, and consume the pre-generated TypeScript ABIs from ethers or viem.

Understanding Maroo Address Formats

Maroo accounts have two equivalent string representations — EVM hex (0x…) and Bech32 (maroo1…). When each one matters, and how to convert between them in JS/TS.

Handling OKRW Precompile Errors

Decode every revert path from the OKRW precompile — the module-owned UnauthorizedMinter, the shared InvalidAddress / InvalidAmount errors inherited from IPrecompile (now with string payloads), and the inherited ABISetupFailed for calldata that does not decode.

Querying EAS Data

How to read attestations from Maroo's EAS — via Solidity contract calls (the canonical surface), via the EAS Indexer for reverse lookups, and via the JS/TS SDKs.

How to Simulate Compliance Checks Before Sending

A focused guide on statically simulating a call to a PCL-wrapped proxy so PCL evaluates the global and contract-scoped policies the proxy's hooks check before the user signs, improving dApp user experience and preventing wasted gas.

Building a Compliant ERC20 Token with PCL — End-to-End

An end-to-end walk-through of a compliant token on Maroo. You issue a KYC attestation via EAS and index it, deploy a plain ERC20 implementation (no compliance code, set up by an initialize function) behind a PCL-wrapped proxy, attach a ContractPolicyConfig that requires the attestation, then verify the rejections.

Verifying Identity with EAS on Maroo

A complete walkthrough of registering a schema, issuing an attestation, and verifying it via standard EVM JSON-RPC.

ESC
Type to search