Send Money
Send USDC to any wallet address - settled in under a second.
In the app
- Open Send from the dashboard
- Recipient - paste a wallet address (
0x…). Double-check it: Arc payments are final the moment they settle. - Amount - enter the USDC amount. Your available balance is shown below the input.
- 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.
- Confirm - review and sign.
Signatures you'll see
| When | What |
|---|---|
| Very first payment | Approve (one-time USDC allowance for the gateway) + Send |
| Every payment after | Just 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