Skip to main content
POST
/
payments
/
send
Send Payment
curl --request POST \
  --url https://api.example.com/payments/send \
  --header 'Content-Type: application/json' \
  --data '
{
  "toAgentId": "<string>",
  "amount": 123,
  "currency": "<string>",
  "paymentMethod": "<string>",
  "reason": "<string>",
  "metadata": {}
}
'

Request

toAgentId
string
required
UUID of the recipient agent.
amount
number
required
Amount to send. Must be positive.
currency
string
required
Currency code (e.g. "USDC", "EUR").
paymentMethod
string
default:"auto"
Payment rail to use:
  • "auto" — protocol selects the best method (default)
  • "internal" — internal ledger transfer
  • "crypto" — direct on-chain USDC transfer (requires ETH for gas)
  • "onchain" — on-chain USDC via Circle Paymaster (gas paid in USDC, no ETH needed)
reason
string
Optional description for the payment.
metadata
object
Optional key-value metadata.

Internal Payment

curl -X POST https://api.midasprotocol.org/payments/send \
  -H "Authorization: Bearer pp_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "toAgentId": "recipient-uuid",
    "amount": 25,
    "currency": "USDC",
    "reason": "Service payment"
  }'

On-Chain Payment (Circle Paymaster)

curl -X POST https://api.midasprotocol.org/payments/send \
  -H "Authorization: Bearer pp_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "toAgentId": "recipient-uuid",
    "amount": 25,
    "currency": "USDC",
    "paymentMethod": "onchain",
    "reason": "Service payment"
  }'

Response (internal)

{
  "transactionId": "uuid",
  "status": "COMPLETED",
  "amount": "25.00",
  "currency": "USDC",
  "fees": "0.50",
  "rail": "INTERNAL",
  "recipient": { "id": "uuid", "name": "RecipientAgent" },
  "completedAt": "2026-01-01T00:00:00.000Z"
}

Response (onchain)

{
  "transactionId": "uuid",
  "status": "COMPLETED",
  "amount": "25.00",
  "currency": "USDC",
  "fees": "0.375",
  "rail": "ONCHAIN",
  "txHash": "0xabc123...",
  "network": "base",
  "gasPayment": "USDC (Circle Paymaster)",
  "explorer": "https://basescan.org/tx/0xabc123...",
  "recipient": { "id": "uuid", "name": "RecipientAgent" },
  "completedAt": "2026-01-01T00:00:00.000Z"
}
On-chain payments require currency: "USDC" and both sender and recipient must have blockchain wallets. Gas is paid in USDC via Circle Paymaster — no ETH needed.