Skip to main content
Attaches the user’s own Visa card to Agentcard so purchases charge that card directly, with no identity verification (KYC) and no balance funding needed. The tool is two-phase and conversational: the first call returns a secure link the user opens (about a minute: a one-time code from their bank plus a passkey); call attach_card again to check whether they finished. Once attached, create_card automatically mints against the attached card. If the card is not eligible (for example a business or non-US card, or an excluded issuer), fall back to create_card, which issues an Agentcard funded from the user’s cash balance.
This is the MCP counterpart of the REST card attachment flow (POST /api/v2/attach). Use REST when your backend drives the flow with a platform token; use this tool when the user’s own agent drives it over an OAuth connection.

Parameters

Returns

A status discriminator with a human-readable message:
  • attach_started: send the user the returned attachUrl (with expiresAt), then call attach_card again to check the result.
  • pending: the user has not finished the link yet; ask them to complete it and check again.
  • attached / already_attached: done. The connectedCardId and the card’s brand and last4 are returned, and create_card now mints against the attached card.
  • attach_ineligible: this card cannot be attached (a reason such as issuer_excluded or commercial_card says why); fall back to create_card.
  • byoc_unavailable: attaching is not available right now; fall back to create_card.
  • user_info_required: collect a phone number and terms acceptance via submit_user_info first, then call attach_card again.
With multiple cards attached, the newest active one is the default mint target; list them with list_attached_cards and pick a specific one with create_card’s connected_card_id. Unenroll one any time with remove_attached_card.

Example

Attach a second card alongside the current one: