Auto-forward

Automatically sweep received USDC to a designated address after each verified payment.

v1 architecture, awaiting audit sign-off. Auto-forward is part of v1 and ships via a user-signed ERC-7715 grant to the public auto-forward executor contract. Your wallet signs the grant once at setup; keepers (anyone) redeem it on each verified payment to forward funds to your withdraw address. JoPay never holds a signing key. Enabling the feature in the UI is gated on the caveat-enforcer suite audit and on-chain deployment — see Non-custody.

What is auto-forward?

Auto-forward (also called sweep) automatically sends USDC from your JoPay wallet to a designated withdraw address every time a payment is verified. Instead of accumulating funds in your JoPay wallet and manually withdrawing, auto-forward moves them for you.

This is useful for merchants who want their earnings sent directly to a personal wallet, exchange account, or treasury address without manual intervention.

Requirements

Auto-forward requires:

  • A wallet in one of the three supported v1 buckets. Sequence WaaS (email / Google sign-in), Bucket A smart-contract wallets (Safe, Coinbase Smart Wallet, Argent, Ambire), and Bucket B delegator-capable wallets (MetaMask Delegator, EIP-7702 EOAs). All three sign a canonical ERC-7715 grant to the public auto-forward executor; the grant is redeemed via DelegationManager.redeemDelegations() against JoPay's caveat-enforcer suite. Hardware wallets (Ledger, Trezor) are not supported in v1. See Non-custody for why JoPay never holds a signing key in any of these paths.
  • Withdraw address — You set a withdraw address in Settings before enabling auto-forward. The grant's caveat allowlist pins this address on-chain; changing it requires issuing a new grant.
You cannot enable auto-forward with an external wallet. If you see the toggle greyed out, it means you are using an external wallet. Switch to the embedded wallet to unlock this feature.

How to enable auto-forward

Go to Settings

Open the Settings page from the navigation menu.

Set your withdraw address

In the Withdraw address field, enter the wallet address where you want funds to be sent. This must be a valid EVM address (starting with 0x).

Enable the auto-forward toggle

Turn on the Auto-forward toggle. Once enabled, every future verified payment will trigger an automatic transfer of the received USDC to your withdraw address.

Save settings

Confirm and save your settings. Auto-forward is now active.

How it works

  1. A customer pays you and the payment is verified by Trails.
  2. JoPay detects the verified payment and initiates an auto-forward transaction from your embedded wallet to your withdraw address.
  3. The USDC is sent on-chain. Gas fees are sponsored (no cost to you with the embedded wallet).
  4. Your JoPay wallet balance decreases by the forwarded amount. The funds arrive at your withdraw address.

Terminal mode (partner master address)

In some configurations, partners operate merchants in terminal mode. In terminal mode, the partner sets a master withdraw address for all their merchants. Auto-forward sends funds directly to the partner's master address instead of a merchant-controlled address.

Terminal mode is configured by the partner at the platform level. If you are in terminal mode, the withdraw address field in Settings will show the partner's master address and you cannot change it.

Terminal mode is used by partners who handle fund distribution themselves (e.g. a platform that pays merchants in local currency after receiving USDC). Ask your partner if this applies to your setup.

Failure handling

Auto-forward transactions can fail for several reasons:

  • Network congestion — The blockchain is congested and the transaction did not confirm. The system will retry.
  • Invalid withdraw address — The address is malformed or does not exist on the target chain. Update the address in Settings.
  • Insufficient balance — The balance was already moved (e.g. by a manual send) before auto-forward could execute. This is rare but can happen if you manually send funds between payment verification and auto-forward execution.

Failed auto-forward attempts do not affect your payment status. The payment remains verified. The USDC stays in your JoPay wallet until the next successful forward or until you manually send it.

Disabling auto-forward

To stop auto-forwarding, go to Settings and turn off the Auto-forward toggle. Future verified payments will accumulate in your JoPay wallet instead of being swept. Payments that were already forwarded are not affected.

Next steps