Skip to main content
POST

Authorizations

Authorization
string
header
required

Your Nevermined API Key (starts with 'nvm:'). Get one at nevermined.app under Settings > API Keys.

Body

application/json
delegationId
string
required

Delegation id (the caller's individual spend authority) to spend against — created via POST /api/v1/delegation/create and validated as the caller’s own erc4337 delegation.

protocol
enum<string>
required

Payment protocol. x402 (EIP-3009 exact) or mpp (Merchant Payment Protocol, tempo charge). The target shape depends on this: x402 → { accepts, x402Version? }; mpp → { challenge }.

Available options:
x402,
mpp
Example:

"x402"

target
object
required

The upstream's payment requirements, taken verbatim from its HTTP 402 response — its shape depends on protocol.

x402 — pass { accepts: [...], x402Version? }: accepts is the array of payment options the agent advertised (each with scheme, network, asset, payTo, maxAmountRequired/amount, and extra.name/extra.version for the EIP-712 domain). Get it from the 402 body (x402 v1: { x402Version: 1, accepts }) or by base64-decoding the PAYMENT-REQUIRED response header (x402 v2). x402Version defaults to 2 when omitted — set it to 1 for x402-express agents.

mpp — pass { challenge }, where challenge is the raw WWW-Authenticate: Payment … header value from the merchant’s 402, verbatim — e.g. Payment id="…", method="tempo", intent="charge", request="<base64url>". The Router decodes it, verifies the buyer wallet can fund the tempo charge, signs a native Tempo transaction, and returns an Authorization: Payment <…> credential (the ledger scheme is charge). The tempo payment currency (token address) must be on the operator’s per-chain allowlist.

Example:
resourceUrl
string

Upstream resource URL (absolute http(s)) — recorded with the payment.

requestId
string

Caller correlation / idempotency id — at most one credential is minted per requestId; recorded.

Response

A signed credential + settlement descriptor + record id. Attach credential.value under header credential.name to your request to the agent.

paymentId
string
required

Router payment record id (use it with POST /router/payments/{id}/settled).

Example:

"b1f9c2e4-3d5a-4c7e-9f21-6a8b0c4d2e13"

protocol
enum<string>
required

Payment protocol used.

Available options:
x402,
mpp
Example:

"x402"

credential
object
required

The credential to attach to your upstream request.

settlement
object
required

What this credential pays.

fee
object
required

Nevermined’s routing fee charged on top of the merchant leg. The credential itself pays the merchant only — the fee never rides the merchant’s authorization.

delegationId
string
required

The delegation this spend was reserved against.

Example:

"5e7481c3-..."

status
enum<string>
required

Record status at mint time.

Available options:
Issued
Example:

"Issued"

x402Version
number

Negotiated x402 version (1 or 2).

Example:

2

resourceUrl
string | null

The upstream resource URL recorded with the payment.

requestId
string | null

Your idempotency id, echoed back.