Arc Mainnet
ArcPayArcPay

Developers

Create payment links programmatically. Webhooks and SDKs are designed into the architecture and land in later phases.

Create a payment link

POST /api/payments

{
  "recipient": "0x...",        // required — EVM address
  "amount": "25.00",           // required — USDC amount (6 dp max)
  "description": "Website Development",
  "recipientName": "MJF Endin",
  "type": "request",           // request | invoice | checkout | donation | tip | payme
  "customerName": "Acme Co",
  "reference": "INV-001",
  "expiresAt": 1789700000000,  // optional epoch ms
  "tipEnabled": true,
  "presetAmounts": ["1", "5", "10"]
}

Response:

{
  "id": "abc123",
  "url": "https://arc-payments.vercel.app/pay/abc123",
  "status": "pending",
  ...
}

Webhooks

Planned events: payment.created, payment.pending, payment.completed, payment.expired.

The server-side webhook dispatcher already exists; merchant URL registration ships with auth in a later phase.

Payment Link types

  • request — fixed amount
  • invoice — amount + customer + due date
  • checkout — product/service + amount
  • donation — preset amounts + custom
  • tip — small predefined amounts
  • payme — personal profile, custom amount