# Laso Finance Send Payment (Venmo/PayPal)

> Laso Finance Send Payment (Venmo/PayPal) is a paid API for AI agents from laso.finance, paid per call via x402, $6.5/call, status unknown (last checked 2026-09-15).

Sends a USD payment to a recipient via Venmo or PayPal, funded by on-chain USDC, with KYC verification gating.

## Facts

- Endpoint: GET https://laso.finance/send-payment
- Price: $6.5/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/laso-finance-send-payment-venmo-paypal-2be3b87b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_f5zJNcwoWNv9gMUmHVm9O

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability laso-finance-send-payment-venmo-paypal-2be3b87b
```

Example prompt: Send $50 to my friend Jane Smith on Venmo — her phone number is 2125550198 and her email is jane.smith@gmail.com — pay her from my USDC wallet.

## When to prefer this

Use this endpoint when an agent needs to send a real USD payment to a specific person on Venmo or PayPal, funded from a crypto (USDC) wallet. It is the right choice when the user knows the recipient's platform handle (phone number for Venmo, email for PayPal) and wants crypto-to-fiat disbursement without managing traditional bank rails. Prefer this over gift card or prepaid card endpoints when the goal is direct person-to-person transfer rather than purchasing a spendable card.

## Known failure modes

- KYC not completed — returns kyc_url instead of sending payment, user must verify identity first
- Amount below $5 minimum or above $1000 maximum — request rejected
- Invalid recipient_id format (e.g. non-10-digit phone for Venmo or non-email for PayPal) — validation error
- Insufficient USDC balance to cover amount plus 4.9% fee ($1.50 minimum fee) — payment not initiated
- Recipient name contains non-English characters — rejected by schema validation
- Platform value not 'venmo' or 'paypal' — invalid enum error

## How this service works

Send a payment via Venmo or PayPal. Requires KYC verification on the calling wallet; if not yet verified the response returns a kyc_url instead of sending the payout. The on-chain x402 payment credits the user's account balance via the standard deposit webhook, so abandoned/unverified flows can be recovered with POST /withdraw.

## Output

On success, returns a payment confirmation indicating the payout was sent to the recipient via Venmo or PayPal. If the calling wallet has not completed KYC, returns a kyc_url for the user to verify their identity before the payment can proceed. The on-chain USDC payment credits the user's account balance, allowing recovery via POST /withdraw if the flow is abandoned.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "amount": {
       "type": "number",
       "description": "USD amount to send to the recipient (min $5, max $1000). A 4.9% fee with a $1.50 minimum is added on top to compute the x402 USDC price."
      },
      "platform": {
       "type": "string",
       "description": "Payment platform: 'venmo' or 'paypal'"
      },
      "recipient_id": {
       "type": "string",
       "description": "Recipient identifier. For Venmo: 10-digit U.S. phone number. For PayPal: email address."
      },
      "recipient_email": {
       "type": "string",
       "description": "Recipient's email address. Required for Venmo. Optional for PayPal, where it defaults to recipient_id (the PayPal email)."
      },
      "recipient_last_name": {
       "type": "string",
       "description": "Recipient's last name (English letters A-Z and a-z only)."
      },
      "recipient_first_name": {
       "type": "string",
       "description": "Recipient's first name (English letters A-Z and a-z only)."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "auth": {
       "type": "object",
       "properties": {
        "id_token": {
         "type": "string",
         "description": "Firebase ID token for the callable APIs"
        },
        "expires_in": {
         "type": "string"
        },
        "refresh_token": {
         "type": "string"
        }
       }
      },
      "state": {
       "type": "string"
      },
      "amount": {
       "type": "number"
      },
      "message": {
       "type": "string"
      },
      "success": {
       "type": "boolean"
      },
      "user_id": {
       "type": "string"
      },
      "platform": {
       "type": "string"
      },
      "recipient_id": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "auth": {
   "id_token": "eyJ...",
   "expires_in": "3600",
   "refresh_token": "AMf..."
  },
  "state": "in-process",
  "amount": 5,
  "message": "Payment is being processed.",
  "success": true,
  "user_id": "0xabc...",
  "platform": "venmo",
  "recipient_id": "5551234567"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/laso-finance-send-payment-venmo-paypal-2be3b87b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from laso.finance](https://www.zero.xyz/host/laso.finance/llms.txt)
