Skip to main content
Glama

push_to_card

Destructive

Send money to a debit card (USD, EUR, GBP)

Pay USDC to initiate a push-to-card transfer. Specify the face value in the target currency (USD, EUR, or GBP); Laso computes the USDC cost using the current exchange rate plus a 4.8% fee (minimum fee of $1.50/€1.50/£1.50 in the transfer currency), and that becomes the x402 price. Returns a redemption_url that must be opened to complete the transfer. The form requires sender name, debit card number, and cardholder name.

Supported currencies:

  • USD — U.S. debit cards (U.S. bank accounts only)

  • EUR — Eurozone debit cards

  • GBP — U.K. debit cards

Laso cannot perform the transfer directly — the redemption URL must be visited and the debit card details entered manually (by the agent or a human).

Fee: 4.8%, with a minimum of 1.50 in the transfer currency (included in the USDC price, computed from the requested face value).

PAID ROUTE (11.50-10000 USD): the x402 USDC price is paid automatically from your managed agent wallet. Make sure the wallet exists and is funded first (get_agent_wallet).

Input Schema

NameRequiredDescriptionDefault
amountYesFace value to send to the debit card, denominated in the chosen `currency` (min 10, max 9,541.98). The x402 payment price is this face value converted to USD plus a 4.8% fee (minimum fee of 1.50 in the chosen currency).
currencyNoTarget currency for the debit card transfer. Defaults to `USD`.USD

Output Schema

NameRequiredDescriptionDefault
authNo
noteNoImportant information about the currency's regional restriction and required form fields
amountNoThe face value sent to the debit card, in the requested `currency`
messageNo
successNo
user_idNoThe user's ID (lowercase wallet address)
currencyNoThe target currency of the debit card transfer One of: USD, EUR, GBP.
redemption_urlNoURL to open and complete the push-to-card transfer. The form requires: sender name, debit card number, and cardholder name.
callable_base_urlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / properties / auth_token
      Removed value: -{
      -  "description": "Laso credential. Only if the MCP connection has no Authorization header.",
      -  "type": "string"
      -}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "amount": {
      +      "description": "The face value sent to the debit card, in the requested `currency`",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "auth": {
      +      "properties": {
      +        "expires_in": {
      +          "description": "Token lifetime in seconds",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "id_token": {
      +          "description": "ID token — use as Bearer token for Laso Finance APIs",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "refresh_token": {
      +          "description": "Use with POST /auth (grant_type=refresh_token) to get a new id_token when it expires",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "callable_base_url": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "currency": {
      +      "description": "The target currency of the debit card transfer One of: USD, EUR, GBP.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "message": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "description": "Important information about the currency's regional restriction and required form fields",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "redemption_url": {
      +      "description": "URL to open and complete the push-to-card transfer. The form requires: sender name, debit card number, and cardholder name.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "success": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "user_id": {
      +      "description": "The user's ID (lowercase wallet address)",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "amount": {
      -      "description": "The face value sent to the debit card, in the requested `currency`",
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "auth": {
      -      "properties": {
      -        "expires_in": {
      -          "description": "Token lifetime in seconds",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "id_token": {
      -          "description": "ID token — use as Bearer token for Laso Finance APIs",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "refresh_token": {
      -          "description": "Use with POST /auth (grant_type=refresh_token) to get a new id_token when it expires",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        }
      -      },
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "callable_base_url": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "currency": {
      -      "description": "The target currency of the debit card transfer One of: USD, EUR, GBP.",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "message": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "note": {
      -      "description": "Important information about the currency's regional restriction and required form fields",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "redemption_url": {
      -      "description": "URL to open and complete the push-to-card transfer. The form requires: sender name, debit card number, and cardholder name.",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "success": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    },
      -    "user_id": {
      -      "description": "The user's ID (lowercase wallet address)",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, so the description's mention of sending money is consistent. It adds valuable behavior beyond annotations: the fee (4.8% with minimum), the requirement to visit a redemption_url, the manual entry of card details, and the automatic payment from the agent wallet. This gives the agent a full picture of side effects and prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately long but well-structured: it leads with the core action, then covers supported currencies, fee, and the paid route. Each section adds necessary information, and the formatting (bold headers) aids scanning. It could be trimmed slightly, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a money-transfer tool with multiple prerequisites and a manual step, the description covers all essential aspects: the transfer mechanism, currency restrictions, fee structure, the redemption_url requirement, the need for a funded agent wallet, and the manual entry of card details. The presence of an output schema means return values need not be described, so this is complete for an agent to execute correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes both parameters thoroughly (amount and currency), with coverage at 100%. The description reinforces this and adds nuance: the amount is a 'face value' that gets converted to USDC with a fee, and the currency restricts card eligibility. This exceeds the schema's detail, particularly around the fee calculation and currency-specific limits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear action verb and resource ('Send money to a debit card') and specifies the currencies and the payment mechanism (USDC). It distinguishes itself from other money-movement tools like send_bank_payment or withdraw by focusing on debit card transfers, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides strong contextual guidance: it explains the manual redemption step, the wallet funding prerequisite, and the fee structure. It does not explicitly name alternative tools or state when not to use it, but the context is clear enough that an agent can infer appropriate use. A small deduction for lacking explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources