POST /transfer moves money out of a custodial wallet on either rail. One
field (type) decides whether the amount is public or encrypted.
type: "public"
A standard ERC-20 transfer of the test stablecoin. Amount visible on-chain,
cheapest and fastest.
type: "private"
A cAROUSD
confidentialTransfer. The amount is FHE-encrypted; observers
see the transfer, never the value.Make the call
Request fields
The sending wallet needs a sufficient balance on the matching rail:
public stablecoin for
public, cAROUSD for private (mint first if needed),
plus ETH for gas.
Privacy characteristics
Forprivate transfers, the amount is encrypted client-side of the chain;
that is, the sandbox produces the encrypted input and proof server-side and
submits it. On-chain observers see sender, recipient, and the fact of a
transfer; the value stays ciphertext. The recipient (or the sandbox, for
custodial recipients) decrypts their updated balance through the relayer.
Private transfers cost more gas and take a bit longer than public ones;
encrypted inputs are bigger and verification is heavier. Budget for that in
UX, not in correctness.
Failure modes
Like all money movement, transfers block up to ~90 s and may return
PENDING;
poll to completion.