Skip to main content
npayload is launching soon.
npayloadDocs
Resources

FAQ

Frequently asked questions about npayload

Answers to the most common questions about npayload, organised by topic.

General

What is npayload?

npayload is the communication infrastructure for autonomous systems. It provides pub/sub messaging, event streaming, webhook delivery, and structured communication through a simple API.

How is npayload different from Kafka?

npayload is a fully managed service with no infrastructure to operate. Unlike Kafka, npayload includes built-in webhook delivery, dead letter queues, schema validation, a marketplace for data exchange, and the Agent Session Protocol (ASP) for structured communication between autonomous systems. npayload is designed for both traditional application messaging and autonomous system collaboration.

Is npayload open source?

The npayload SDKs (@npayload/node, @npayload/react) are open source. The platform itself is a managed service.

What languages are supported?

npayload provides official SDKs for:

  • Node.js / TypeScript: @npayload/node
  • Browser: @npayload/js
  • React: @npayload/react

You can also use the REST API directly from any language that supports HTTP.

Messaging

What is the maximum message size?

A single message payload can be up to 256 KB. For batch publishes, the total batch payload limit is 10 MB with a maximum of 100 messages per batch.

Are messages ordered?

By default, npayload delivers messages in the order they were published. For strict FIFO ordering across concurrent publishers, use message groups. Messages with the same group key are always delivered in order.

How long are messages retained?

Message retention is configurable per channel. The default is 7 days. You can set retention from 1 day to unlimited, depending on your billing tier.

Can I replay messages?

Yes. Stream channels support consumer offsets, allowing you to seek to any position and replay messages from that point. DLQ entries can also be replayed individually or in bulk.

Delivery

How many times will npayload retry delivery?

The default retry policy attempts delivery up to 5 times with exponential backoff. You can configure the retry count, backoff interval, and maximum delay per subscription.

What happens after all retries fail?

The message is moved to the channel's dead letter queue (DLQ). You can inspect DLQ entries, fix the underlying issue, and replay them. DLQ entries are retained according to your DLQ retention policy (default: 14 days).

Can I configure the retry policy?

Yes. Each subscription has its own retry policy with configurable settings:

  • Maximum retry attempts
  • Initial backoff interval
  • Maximum backoff interval
  • Timeout per delivery attempt

How does the circuit breaker work?

npayload monitors webhook delivery success rates per subscription. If an endpoint returns too many consecutive 5xx errors, the circuit breaker opens, temporarily stopping delivery to that endpoint. This protects both your endpoint and the platform from cascading failures. The circuit breaker automatically closes after a recovery period (typically 60 seconds), and pending deliveries resume.

Security

Is data encrypted?

Yes. All data is encrypted in transit (TLS 1.3) and at rest (AES-256). npayload also offers end-to-end encryption mode where npayload cannot read the payload at all.

Can I use end-to-end encryption?

Yes. Enable E2E encryption mode on any channel. In this mode, payloads are encrypted with RSA-4096 key exchange and AES-256-GCM. Only the publisher and subscriber hold decryption keys. npayload stores and delivers the encrypted payload without being able to read it.

E2E encryption disables payload-dependent features like schema validation and content-based filtering, since npayload cannot inspect the payload.

How do webhooks get verified?

npayload signs every webhook delivery with an HMAC signature. The signature is included in the X-NPayload-Signature header. Your endpoint should verify this signature using the signing secret from your subscription configuration. The SDKs provide helper functions for signature verification.

What is DPoP?

DPoP (Demonstrating Proof-of-Possession, RFC 9449) is an OAuth 2.0 extension that binds access tokens to the specific client that requested them. Each request includes a DPoP proof JWT signed by the client's private key. Even if a token is intercepted, it cannot be used from a different client. The @npayload/node SDK handles DPoP automatically.

Pricing

Is there a free tier?

Yes. The Free tier includes:

  • 100 publishes per second
  • 1,000 channels per app
  • 3 apps per organisation
  • 7-day message retention
  • Community support

No credit card is required.

How is usage calculated?

Usage is calculated based on:

  • API calls: Each publish, subscribe, query, and management operation counts as one API call. Batch publishes count as one API call regardless of the number of messages in the batch.
  • Message volume: Total data transferred (payload size).
  • Active channels: Number of channels with at least one publish or delivery in the billing period.

What counts as an API call?

Every HTTP request to the npayload API counts as one API call. This includes publishes, queries, subscription management, and DLQ operations. Webhook deliveries from npayload to your endpoints do not count as API calls.

ASP Protocol

What is ASP?

ASP (Agent Session Protocol) is a protocol built into npayload for structured communication between autonomous systems. ASP provides:

  • Sessions: Bounded, multi-turn interactions with defined participants and purpose
  • Trust scores: Reputation tracking based on past behaviour and commitment fulfilment
  • Commitments: Binding agreements between agents with deadline tracking
  • Dispute resolution: Mechanisms for handling disagreements or broken commitments

How does ASP relate to MCP?

MCP (Model Context Protocol) defines how AI models interact with tools and data sources. ASP defines how autonomous systems interact with each other. They are complementary: a system might use MCP to access tools and ASP to collaborate with other autonomous systems.

Do I need ASP to use npayload?

No. ASP is an optional protocol. You can use npayload purely for pub/sub messaging, event streaming, and webhook delivery without ASP. ASP is available when you need structured agent-to-agent communication.

Next steps

Was this page helpful?

On this page