# Laso Finance Send Bank Payment

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

Initiates a bank payment by converting USDC stablecoins to a fiat payout delivered to a registered bank destination account.

## Facts

- Endpoint: GET https://laso.finance/send-bank-payment
- Price: $11.5/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/laso-finance-send-bank-payment-ea733f95
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kdYCDD96RDULk1V1I55Jm

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-bank-payment-ea733f95
```

Example prompt: Send $250 to my saved bank account (destination ID dest_123) using Laso Finance — pay it out from my USDC balance.

## When to prefer this

Choose this endpoint when an agent needs to off-ramp USDC to a real bank account with fiat delivery — specifically when you have a pre-registered bank destination ID and want to send a specific USD amount. Prefer this over prepaid/gift card endpoints when the recipient needs actual bank-account-deposited fiat rather than a spendable card. Best for payroll, vendor payments, or personal withdrawals where a bank transfer is required.

## Known failure modes

- Invalid or unregistered destination_id returns an error — must be from addBankingDestination or GET /bank-recipients
- Amount below $10 or above $10000 is rejected
- Insufficient USDC balance to cover amount plus fee causes payment failure
- x402 payment of $11.5 USDC not made or rejected causes 402 error
- Network or chain congestion may delay processing confirmation
- Expired or invalid auth token results in authentication failure

## How this service works

Send dollars to a bank account by ACH. Requires a bank destination registered beforehand with addBankingDestination (list them at GET /bank-recipients), which in turn requires an approved banking profile. The on-chain x402 payment credits the user's account balance via the standard deposit webhook, so a payout that cannot be fulfilled leaves nothing stranded — retry, or recover the funds with POST /withdraw.

## Output

Returns a JSON object confirming the bank payment is in-process, including a payout_id, the amount being paid, the fee charged, total charged amount in USDC, the destination_id used, and a success flag. Also includes an auth object with a refreshed id_token.

## 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 delivered to the recipient's bank account (min $10, max $50000). A 0.25% transfer fee with a $1.50 minimum is added on top to compute the x402 USDC price."
      },
      "destination_id": {
       "type": "string",
       "description": "Bank destination id to pay out to, from addBankingDestination or GET /bank-recipients."
      }
     }
    }
   },
   "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"
        }
       }
      },
      "message": {
       "type": "string"
      },
      "success": {
       "type": "boolean"
      },
      "user_id": {
       "type": "string"
      },
      "bank_payment": {
       "type": "object",
       "properties": {
        "state": {
         "type": "string"
        },
        "amount": {
         "type": "number"
        },
        "payout_id": {
         "type": "string"
        },
        "fee_amount": {
         "type": "number"
        },
        "charged_amount": {
         "type": "number"
        },
        "destination_id": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "auth": {
   "id_token": "eyJ...",
   "expires_in": "3600",
   "refresh_token": "AMf..."
  },
  "message": "Bank payment is being processed.",
  "success": true,
  "user_id": "0xabc...",
  "bank_payment": {
   "state": "in-process",
   "amount": 100,
   "payout_id": "abc123",
   "fee_amount": 1.5,
   "charged_amount": 101.5,
   "destination_id": "dest_123"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/laso-finance-send-bank-payment-ea733f95/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)
