Login and authorization
The holder signs in with Privy by email or Google, and the Privy key signs a challenge message offchain at no gas cost. HEVN checks the signer against the holder’s Privy address and issues a short-lived JWT.
The JWT cannot move money.
Payins
The partner bank opens account details (an account number or IBAN) for one holder and links them to that holder’s wallet address. A payin is complete when the USDC arrives on Base.
Fiat payouts
- Create a payout to a bank beneficiary in the app or through the API. The JWT authorizes this call, which returns a quote and moves no money.
- The payout returns a one-time address. The app checks its signature before showing it.
- The holder’s key signs the USDC transfer from the wallet to that address.
- After the USDC arrives, the partner bank pays the beneficiary.
Cross-chain
Payins from other chains and payouts to them (BTC, ETH, SOL, USDT on TRON and others) are routed swaps.- HEVN requests a quote and returns a one-time address on the origin chain. The fee is in the quote.
- The app validates the address against the quote before showing it.
- The sender pays the one-time address, and the route delivers the destination asset.