Skip to main content
peaq_ros2_peaqos exposes the LayerZero V2 ONFT as two services:
Bridging is mainnet only. LayerZero V2 has no DVN routes between agung and Base, so bridge calls on testnet won’t relay end-to-end. Test the round trip on peaq mainnet ↔ Base mainnet.

Required configuration

Both directions need the LayerZero ONFT contracts wired into peaq_robot.yaml:
Equivalent env override: MACHINE_NFT_ADAPTER_ADDRESS. Base side reference contract: 0xee8A521eA434b11F956E2402beC5eBfa753Babfa (MachineNFTBase).

peaq → Base

The must own the on peaq and hold enough peaq for plus the LayerZero fee.
Then poll the destination:
timeout is in seconds. The service returns once ownerOf(token_id) matches the recipient on the destination chain or the deadline is hit.

Base → peaq

Same service shape, swapped source / destination. The signer must hold the Machine NFT on Base and enough Base ETH to cover gas plus the LayerZero fee — the bridge can’t bootstrap funding for you.
Wait for arrival on peaq:

Field reference

PeaqosBridgeNft: PeaqosWaitForBridgeArrival:

Operational notes

  • Record pre/post balances on both chains for any production bridge test.
  • The reverse direction (Base → peaq) is the failure mode most people hit: a fresh Base has no ETH, so the bridge tx on insufficient funds. Fund Base first.
  • For a deeper protocol view (LayerZero peers, ONFT contracts, supported chains) see the Activate function and the SDK JS / SDK Python bridge methods, which this node mirrors 1:1.