Deposit addresses and relayers
Problem
Most businesses fund from an exchange. An exchange can send to an address, but it cannot approve a second transaction to move the funds onward. If every deposit needs the user's passkey before it reaches Stellar, deposits stall. And fees must be paid on every network without users holding ETH or XLM.
Approach
- Deposit addresses. Each user gets a contract address on each EVM funding network, derived from their Stellar wallet. It can only burn its own USDC through Circle CCTP to that wallet. BlockFinaX watches USDC balances and triggers the burn; Circle attests it; BlockFinaX mints it on Stellar through Circle's
CctpForwarder. - Relayers. On Stellar, OpenZeppelin Channels submits user-authorised calls, with a BlockFinaX fee account as the fallback. On EVM chains, user operations are sponsored by a paymaster: Coinbase Developer Platform first, Pimlico as automatic fallback, each chosen per operation before the user signs.
Why
- Deposits from exchanges work with nothing to sign.
- The money's destination is enforced by the contract, so BlockFinaX can trigger transfers without being able to redirect them.
- Fake tokens cannot be credited: the contract only touches the canonical USDC, and users are credited only by Circle's mint.
- Two paymasters remove a single point of failure, and Pimlico covers chains Coinbase does not.
Trade-offs
- USDC only. Other stablecoins need a swap before the burn.
- Gas for flushes is on BlockFinaX, so very small deposits wait for a minimum.
- Paymaster limits. Each provider caps what it sponsors per operation; large one-off jobs such as contract deployment go through the fallback or a funded key.
- The contracts hold user money and need an independent audit before mainnet.