Skip to main content

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), verifies the cardholder’s identity, and registers the card with the payment provider. NVM Pay supports two enrollment providers, each available as a separate tab in the Nevermined Pay dashboard.

Enrollment Paths

Visa Enrollment

Visa cards are tokenized via Visa Token Service (VTS) and enrolled in Visa Intelligent Commerce (VIC). This path requires passkey (FIDO2) authentication.
1

Capture card data

Enter your card details through the enrollment form. Card data is captured in a PCI-compliant VGS Collect iframe and tokenized in the browser before submission.
2

Tokenize with Visa

NVM Pay registers the card with Visa Token Service (VTS), producing a provisioned token ID that replaces the real card number.
3

Enroll in Visa Intelligent Commerce

The tokenized card is enrolled in VIC, which enables mandate-based charging.
4

Authenticate with passkey

Complete passkey authentication (FIDO2/WebAuthn) to prove you authorized the enrollment. If passkeys aren’t available, a one-time password (OTP) is sent to your email instead.
5

Create a mandate

After enrollment, create a spending mandate to define how agents can charge this card.

Visa Card Lifecycle

Enrollment started
  |
  |-> PAN enrolled (VTS tokenization)
  |
  |-> Token provisioned (provisioned token ID created)
  |
  |-> VIC enrolled (payment network registration)
  |
  |-> Authentication (passkey or OTP)
  |
  |-> Active -> Mandates can be created
        |
        |-> Inactive (card deactivated or removed)
You can track enrollment progress in the dashboard. Each step is recorded, and if enrollment fails at any point, the specific step and error are captured.

Card Properties

Both Visa and Stripe cards share these core properties:
PropertyDescription
idUnique card identifier
userIdOwner of the card
last4Last 4 digits of the card number (for display)
aliasUser-friendly name (e.g., “Work Visa”, “Dev Card”)
statusactive or inactive
spendingCeilingMaximum total amount that can be allocated across all active mandates or 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 authorizations. This prevents over-allocation and provides a safety net. Both Visa and Stripe cards enforce the same ceiling. For example, if your card has a $10.00 ceiling:
  • Authorization A: $5.00
  • Authorization 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.
When you create or update a mandate/delegation, NVM Pay validates that the total allocated amount across all active authorizations on the card doesn’t exceed the ceiling. If it would, the request is rejected with a clear error showing the remaining capacity.

Managing Cards

Via the Nevermined Pay Dashboard

The Nevermined Pay dashboard provides a visual interface for managing your enrolled cards. Visa and Stripe cards appear in separate tabs:
  • View all enrolled cards with their status and spending ceiling
  • See active mandates/delegations per card with remaining capacity
  • View transaction history for each card
  • Deactivate or remove cards

Via the API

EndpointMethodDescription
/cardsGETList enrolled Visa cards (filter by userId)
/cards/{id}GETGet card details including mandates
/cards/{id}PUTUpdate card properties
/cards/{id}DELETERemove a card and its mandates
/cards/{cardId}/transactionsGETGet transaction history (paginated)

Choosing a Provider

VisaStripe
Enrollment complexityMulti-step with passkey authSimple card form
AuthenticationPasskeys (FIDO2) or OTPStripe handles verification
Best forHigh-security use cases, production deploymentsQuick setup, developer testing, broader card support
SettlementVisa credentials charged via StripeStripe PaymentIntents directly
Both providers support the same spending controls (ceilings, usage limits, expiration) and API key linking.

What’s Next?

Once your card is enrolled, create a spending authorization to control how agents can charge it.

Create a Mandate or Delegation

Define spending limits, usage caps, and expiration for agent payments