Documentation Index
Fetch the complete documentation index at: https://docs.nevermined.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Before an agent can charge a payment card, the card must be enrolled in NVM Pay. Enrollment tokenizes the card data (NVM Pay never stores raw card numbers) and registers the card with the provider so future delegations can authorize off-session charges. NVM Pay supports three enrollment providers, each available as a separate tab in the Nevermined Pay dashboard. Which provider you should enroll with depends on the plan you intend to pay for — the plan’sfiatPaymentProvider metadata determines the required card type:
- Stripe-priced plans require a Stripe-vaulted card.
- Braintree-priced plans require a Braintree-vaulted card.
- Visa Trusted Agent plans require a Visa Agentic Token (enrolled through the Visa tab).
Enrollment Paths
- Visa
- Stripe
- Braintree
Visa Enrollment
Visa cards are enrolled as Visa Agentic Tokens through the VGS Credential Management Platform (CMP). Card capture happens in a VGS Collect iframe in the Nevermined webapp, so the raw PAN never reaches Nevermined infrastructure.Capture card data
Enter your card details in the VGS Collect iframe rendered by the webapp. VGS Collect’s
form.createCard() posts the tokenized card directly to CMP and returns a CMP cardId (CRD…) to the browser. The PAN and CVC never transit the Nevermined backend.Mint the Agentic Token
The browser sends only the
cardId (plus BIN-derived last4, brand, and expMonth/expYear) to POST /api/v1/delegation/enroll-visa. The backend calls VGS Agentic POST /cards/{cardId}/agentic-tokens to mint the long-lived Agentic Token (vat_…) and persists it as the card’s providerPaymentMethodId.Create a delegation
After enrollment, create a spending delegation. Each Visa delegation requires a one-time WebAuthn/passkey device-binding ceremony embedded by Visa VTS — see the Visa tab on the Delegations page.
Visa Card Lifecycle
VGS Agentic Tokens are keyed on PAN globally. Re-enrolling the same physical card always resolves to the same
cardId/tokenId. If the card is already enrolled under a different Nevermined account, enrollment returns BCK.VISA.0018 (HTTP 409).No passkey is required at enrollment. The WebAuthn/passkey ceremony happens once per delegation, not once per card.
Visa enrollment is only reachable from the Nevermined webapp. The
/api/v1/delegation/enroll-visa endpoint expects a CMP cardId produced by VGS Collect in the browser; it cannot be driven from a server-side SDK or curl call.Card Properties
Visa, Stripe, and Braintree cards share these core properties:| Property | Description |
|---|---|
id | Unique payment-method identifier (UUID) |
userId | Owner of the card |
provider | visa, stripe, or braintree |
providerPaymentMethodId | PSP-side token. Visa: vat_… (Agentic Token). Stripe: pm_…. Braintree: paymentMethodToken. |
last4 | Last 4 digits of the card number (for display) |
brand | Card brand (visa, mastercard, …) |
alias | User-friendly name (e.g., “Work Visa”, “Dev Card”) |
status | active or inactive |
spendingCeiling | Maximum total amount that can be allocated across all active delegations on this card (default: $10.00) |
Spending Ceiling
Every card has a spending ceiling — a cumulative limit on the total amount allocated to active delegations. This prevents over-allocation and provides a safety net. Visa, Stripe, and Braintree cards enforce the same ceiling. For example, if your card has a $10.00 ceiling:- Delegation A: $5.00
- Delegation B: $3.00
- Remaining capacity: $2.00
The default spending ceiling is $10.00 during the pilot phase. Contact the Nevermined team if you need a higher limit.
Managing Cards
Via the Nevermined Pay Dashboard
The Nevermined Pay dashboard provides a visual interface for managing your enrolled cards. Visa, Stripe, and Braintree cards appear in separate tabs:- View all enrolled cards with their status and spending ceiling
- See active delegations per card with remaining capacity
- View transaction history for each card
- Deactivate or remove cards
Via the API
The payment-methods endpoint is heterogeneous: it lists enrolled cards across all three providers plus, when the user has a smart account configured, the ERC-4337 wallet entry that backs crypto delegations. Filter byprovider to narrow to a single shape.
| Endpoint | Method | Description |
|---|---|---|
/api/v1/payment-methods | GET | List enrolled payment methods (cards + ERC-4337 wallet) |
/api/v1/payment-methods/{id} | PATCH | Update alias or allowed API keys |
/api/v1/payment-methods/{id} | DELETE | Remove card and revoke all delegations on it |
/api/v1/delegation/{id}/transactions | GET | Per-delegation transaction history |
Choosing a Provider
| Visa | Stripe | Braintree | |
|---|---|---|---|
| Enrollment complexity | VGS Collect capture, no passkey at enrolment | VGS Collect capture against a SetupIntent | Braintree Drop-in capture |
| Per-delegation auth | WebAuthn/passkey device binding (browser-only) | API credentials only | API credentials only |
| Best for | Visa Trusted Agent Protocol plans, high-security agent payments | Quick setup, developer testing, broader card support | Plans whose seller settles on Braintree (per-currency merchant accounts, OAuth Connect) |
| Settlement | Stripe Connect against the seller’s connected account | Stripe PaymentIntents directly | Braintree transaction.sale against vaulted paymentMethodToken |
fiatPaymentProvider metadata: a Braintree-priced plan can only be paid by a Braintree-vaulted card; a Visa Trusted Agent plan can only be paid by a Visa Agentic Token.
What’s Next?
Once your card is enrolled, create a spending delegation to control how agents can charge it.Create a Delegation
Define spending limits, usage caps, and expiration for agent payments