To interact with Nevermined programmatically, you need a Nevermined API Key . This key is required for both:
Payment Libraries (TypeScript SDK and Python SDK)
REST API (direct HTTP calls)
Get Your API Key
Open nevermined.app , sign in, then go to Settings > Global NVM API Keys and click + New API Key . Copy the key and set it as an environment variable:
export NVM_API_KEY = "sandbox:your-api-key-here"
Keep your API key secure. Do not commit it to version control or share it
publicly.
Choose Your Environment
Nevermined offers two environments:
Environment Purpose Network Sandbox Testing and development Base Sepolia Live Production Base Mainnet
TypeScript SDK
Python SDK
REST API
import { Payments } from '@nevermined-io/payments'
const payments = Payments . getInstance ({
nvmApiKey: process . env . NVM_API_KEY ,
environment: 'sandbox' // or 'live'
})
from payments_py import Payments, PaymentOptions
payments = Payments.get_instance(
PaymentOptions(
nvm_api_key = os.environ[ 'NVM_API_KEY' ],
environment = 'sandbox' # or 'live'
)
)
Environment Base URL Sandbox https://api.sandbox.nevermined.app/api/v1Live https://api.live.nevermined.app/api/v1
curl -X GET "https://api.sandbox.nevermined.app/api/v1/protocol/agents" \
-H "Authorization: Bearer $NVM_API_KEY "
API Versioning
Every request resolves to a pinned API version (the platform release MAJOR.MINOR), so your integration keeps working across releases. The pin comes from your API key (editable in the dashboard) or, per request, from the optional Nevermined-Version header:
curl -X GET "https://api.sandbox.nevermined.app/api/v1/protocol/agents" \
-H "Authorization: Bearer $NVM_API_KEY " \
-H "Nevermined-Version: 1.0"
See API Versioning for the resolution rules and compatibility guarantees, and the API Changelog for what changed in each version.
Next Steps
TypeScript SDK Install and use the TypeScript Payments library.
Python SDK Install and use the Python Payments library.