Auto-forward
Automatically sweep received USDC to a designated address after each verified payment.
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.
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
- A customer pays you and the payment is verified by Trails.
- JoPay detects the verified payment and initiates an auto-forward transaction from your embedded wallet to your withdraw address.
- The USDC is sent on-chain. Gas fees are sponsored (no cost to you with the embedded wallet).
- 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.
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.