Skip to main content
Euler Earn vaults can route curator and allocator actions through a Newton Shield before the Euler Earn vault receives the call. VaultKit’s Euler Earn overlay encodes the Euler calldata, packages that exact call as an intent, asks Newton operators to evaluate the configured policy, and forwards the call only when the policy returns an approval attestation. This guide covers shield.euler.*, which wraps Euler Earn. For Euler Vault Kit base lending vault governor actions such as setLTV, setCaps, and setInterestRateModel, use the Euler Guide.

Install Packages

Add any other policy-pack modules your Shield enforces, such as Chainalysis:

Attach the Euler Earn Overlay

Create or attach to a Shield, then extend the client with eulerActions:
shield.euler.* produces calldata from Euler Earn’s ABI and routes the call through shield.sendCall(...). The composite policy pack still owns wasmArgs; pass per-call policy inputs through prepareQueryOptions.

Grant the Shield an Euler Earn Role

Euler Earn manager actions are not end-user deposit or withdrawal flows. The Shield clone must hold a role that can call the forwarded function on the Euler Earn vault: A Shield clone holding the curator role can also call allocator actions. Most integrations grant the clone the curator role or mark it as an allocator before executing policy-gated actions.

Reallocate

Use the typed reallocation helper for the allocator hot path:
reallocate takes positional arguments: (vault, allocations, options?). Each allocation uses Euler Earn’s { id, assets } shape, where id is the market address and assets is the amount in the vault asset’s smallest unit.

Manage Queues and Caps

Allocator queue updates:
Curator cap changes use Euler Earn’s timelocked two-step flow:
Pending cap and market-removal changes can be revoked through the matching typed helpers.

Wrapped Actions

VaultKit intentionally does not wrap end-user ERC-4626 deposit, mint, withdraw, or redeem actions. Ownership transfer helpers are also omitted; use direct governance operations or the raw shield.sendCall(...) escape hatch only when your policy explicitly models that action.

Troubleshooting

Euler Guide

Gate Euler Vault Kit EVault governor actions with shield.eulerVault.*.

Reference

Review the generic sendCall API and expected error types.