Integration Guides
Integrate with the Maroo Network.
Integration Guides
Install the @maroo-chain/contracts npm package, import the Solidity precompile interfaces, and consume the pre-generated TypeScript ABIs from ethers or viem.
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.
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.
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.
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.
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.
A complete walkthrough of registering a schema, issuing an attestation, and verifying it via standard EVM JSON-RPC.