Introduction

Rivet is an EVM wallet extension for Chromium browsers. It combines everyday asset management (tokens and NFTs), an activity view, and X-Link flows for on-chain Claim (public distribution) and Pay (allowlist payouts) in one UI.

Installation

From source (development)

  • Under apps/extension, run npm install and npm run build.
  • Load the unpacked folder apps/extension/dist in chrome://extensions.
  • Set Circle App Kit and optional VITE_RIVET_ACTION_ESCROW in apps/extension/.env.

Production

After Chrome Web Store review, users install from the store. Update the store URL in download.html when the listing is live.

Networks

Arc testnet can be the default network. Add other EVM chains and custom RPCs; balances and activity are read over RPC. On-chain X-Link escrow is currently enabled only when the active network id is arc-testnet; the X-Link entry is disabled on other networks.

Wallet features

  • Tokens, NFTs, and Activity tabs plus payment-oriented flows.
  • Manually add token and NFT contracts.
  • Import seed or private key (compatible with MetaMask / Rabby style exports); export wallets created in Rivet.
  • Per-chain native fee asset and known stable balances (product-dependent).

Claim

Public distribution. The creator funds the pool in native coin; eligible participants call claim while the campaign is active and funded, subject to contract rules and expiry.

Pay

Payouts only to a predefined list of EVM addresses. This release does not enforce social tasks or X handle verification on-chain; eligibility is address-based.

Share URLs

Canonical links: https://rivetpay.xyz/claim/<id> and https://rivetpay.xyz/pay/<id>. Older share links that used a /drop/<id> path are still parsed as Claim (same on-chain behavior). On X, the Rivet extension renders the interactive card next to the link; this site stays static (install the extension from Download).

Smart contract (RivetActionEscrow)

Native coin only; createAction, claim, reclaim. Protocol fees default to zero; owner updates them via setFees. CLAIM uses PUBLIC mode; PAY uses ALLOWLIST with an address array at creation time. See packages/contracts/README.md for deployment and parameters.

Do you need a backend for X-Link?

Not for the core flow.

  • Users save a draft in the extension and sign createAction with their wallet.
  • Recipients submit claim through the extension (or a future dApp) via RPC.
  • Funds and state live on the EVM chain; Rivet does not custody private keys on a server.

A static site at rivetpay.xyz is enough for marketing, download, and docs. Optional server features later include analytics, email notifications, dynamic Open Graph images, or a central campaign index — none are required for escrow itself.

Security

  • Schedule a professional audit before high-value or mainnet deployments.
  • Use SSH keys for servers; do not share root passwords in chat or commit them to git.
  • Install extension updates only from sources you trust (official store or your own signed builds).

FAQ

X-Link does not work

Confirm the wallet is on Arc testnet and that VITE_RIVET_ACTION_ESCROW matches your latest deployed contract address.

I cannot claim on a Pay campaign

Ensure your wallet address was included in the allowlist when the campaign was created, and that the campaign is still active and funded.