Skip to main content

Send Money

Send USDC to any wallet address - settled in under a second.

In the app

  1. Open Send from the dashboard
  2. Recipient - paste a wallet address (0x…). Double-check it: Arc payments are final the moment they settle.
  3. Amount - enter the USDC amount. Your available balance is shown below the input.
  4. Note (optional) - e.g. "Dinner 🍜" or "Invoice #42". Notes are stored in the on-chain event log with the payment, so both sides keep the context forever.
  5. Confirm - review and sign.

Signatures you'll see

WhenWhat
Very first paymentApprove (one-time USDC allowance for the gateway) + Send
Every payment afterJust Send

What happens on-chain

The gateway executes send(recipient, amount, memo), moving USDC directly from you to the recipient and emitting a PaymentSent event with a unique payment ID:

function send(
address recipient,
uint256 amount, // 6 decimals - 1 USDC = 1_000_000
string calldata memo
) external returns (bytes32 paymentId);

The payment ID is what powers receipts, refunds, and merchant verification.

Fees

Roughly $0.01 per payment, deducted from the same USDC balance. No other Aruvi fees.

Tips

  • The success screen links to the ArcScan receipt - share it as proof of payment
  • Sending to yourself is blocked by the contract (CannotPaySelf)
  • Need to pay many people? Use Multi-Send