Skip to main content
rZFI rewards accrue to the user’s Safe on Base. Build the claim as an unsigned transaction and sign and send it with your own signer, like buildDepositTransfer.

buildRzfiClaimTransaction

  • Send it from userAddress on Base (8453). Any other sender reverts.
  • The sender pays the gas (about 250k on Base).
  • It claims all unclaimed rZFI into the user’s Safe.
  • Throws No rZFI available to claim when there is nothing to claim.
  • Throws a retry message while Merkl’s reward tree is updating on-chain; retry in a few minutes.

Gas-sponsored alternative

To have Zyfai pay the gas instead, sign a hash rather than a transaction:
  1. prepareRzfiClaim(userAddress) returns userOpHashToSign and claimableAmount.
  2. Sign userOpHashToSign with the owner wallet (personal_sign of the raw 32-byte hash).
  3. submitRzfiClaim(userAddress, signature) sends the claim and returns txHash.
Requires an authenticated user session (connectAccount() or forUser()).