Skip to content

feat: Hyperlane cross-chain transfers action provider #1142

@Ridwannurudeen

Description

@Ridwannurudeen

Language Implementation

  • Python

Feature Type

  • Action Provider Template

🚀 The feature, motivation and pitch

Add a Hyperlane action provider so AgentKit agents can send cross-chain messages and Warp Route token transfers natively, without leaving the agent loop.

Hyperlane is listed in WISHLIST.md under Cross-Chain & Infrastructure ("Hyperlane cross-chain transfers"), and currently has no PR open or merged.

Why it matters. AgentKit already supports any EVM chain via EvmWalletProvider, but agents have no first-class way to move value or messages between those chains. Hyperlane is the natural fit because:

  1. It is permissionless — no allowlisting needed for new tokens or chains.
  2. It is deployed on every chain AgentKit currently targets (Base, Optimism, Arbitrum, Polygon, BSC, Ethereum) via the same canonical Mailbox interface.
  3. Warp Routes give a uniform interface for bridging ERC-20s (incl. USDC) across these chains.

Implementation note. No official Hyperlane Python SDK exists, so the provider will encode calldata directly via web3.py against the published Mailbox + Warp Route ABIs (the same approach the existing Aave provider in #865 takes against the Aave Pool ABI). Verified Base addresses from hyperlane-registry:

  • Mailbox: 0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D
  • InterchainGasPaymaster: 0xc3F23848Ed2e04C0c6d41bd7804fa8f89F940B94

Proposed scope (single Python PR following the Aave precedent in #865):

  • Send a Warp Route token transfer to a recipient on a destination chain
  • Quote the interchain gas payment for a given destination
  • Read the delivery status of a dispatched message (pending/delivered)
  • Constants for canonical Mailbox + IGP addresses on Base, Optimism, Arbitrum, Ethereum

TypeScript provider in a follow-up PR after Python lands.

File layout follows the merged Aave action provider in #865 (provider, schemas, constants, utils, README, changelog entry, unit tests with mocked EvmWalletProvider).

Alternatives

  • LayerZero — wider deployment but per-token OFT contracts make a generic action provider harder; not in WISHLIST.
  • Across / Stargate — application-layer bridges with narrower asset coverage than Hyperlane Warp Routes.
  • Native canonical bridges (Base, Optimism) — chain-pair specific; would require a separate provider per pair.

Additional context

Happy to own this end-to-end and follow the merge pattern from #865 (Aave): clean PR, make format && make lint && make test green, README entry in alphabetic order, changelog.d/ entry.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions