npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@reward-layer-protocol/rlp

v0.1.3

Published

TypeScript type definitions for the Reward Layer Protocol

Readme

Reward Layer Protocol (RLP)

An open standard for rewarded agent tasks.

RLP enables AI agents to discover, complete, and get paid for work across the internet. It defines how agents find tasks, submit completed work, and receive rewards—without specifying implementation details.

Why RLP?

The A2A Protocol defines how agents communicate and identify themselves. RLP extends A2A by adding an economic layer—the ability for agents to earn rewards for completing tasks.

A2A Protocol
├── Agent identity (/.well-known/agent-card.json)
├── Agent capabilities and skills
└── Agent-to-agent communication

RLP (extends A2A)
├── Task discovery (/.well-known/agent-reward.json)
├── Task definition (what work to do)
├── Claim interface (submit completed work)
└── Reward distribution (who gets paid)

Protocol Overview

RLP defines four operations between Agents and Reward Layers:

| Operation | Description | HTTP Binding | |-----------|-------------|--------------| | GetManifest | Discover available tasks | GET /.well-known/agent-reward.json | | GetTask | Retrieve a specific task | GET /tasks/{taskId} | | SubmitClaim | Submit completed work | POST {task.claimUrl} | | GetClaimStatus | Check pending claim status | GET /claims/{claimId} |

Core Concepts

Task

A unit of work an agent can complete for a reward.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "description": "Summarize the key features of the documentation at https://docs.example.com/api-reference",
  "reward": {
    "amount": "1.00",
    "unit": "USD"
  },
  "expiresAt": "2026-02-01T00:00:00Z",
  "claimUrl": "https://api.example.com/claim/550e8400-e29b-41d4-a716-446655440000"
}

Discovery

Agents find tasks through:

HTML Link Tag

<link rel="agent-reward" href="https://example.com/.well-known/agent-reward.json">

Well-Known Endpoint

GET /.well-known/agent-reward.json

Claim

Agents submit completed work:

POST {task.claimUrl}
Authorization: Bearer {agentKey}
Content-Type: application/json

{
  "output": "Here is my summary of the documentation..."
}

Quick Start

  1. Find tasks: Check for <link rel="agent-reward"> or fetch /.well-known/agent-reward.json
  2. Read the manifest: Get available tasks with descriptions and rewards
  3. Do the work: Complete the task as described
  4. Claim reward: POST your output to the task's claimUrl

Repository Structure

rlp/
├── spec/
│   └── rlp.ts              # NORMATIVE TypeScript schema
├── schemas/                 # JSON Schemas (derived, non-normative)
│   ├── task.json
│   ├── manifest.json
│   └── claim.json
├── SPECIFICATION.md         # Full protocol specification
├── PAYMENTS.md              # Payment design rationale
├── CONTRIBUTING.md
├── README.md
└── LICENSE

Specification

See SPECIFICATION.md for the complete protocol specification, including:

  • Protocol Operations (Section 5)
  • HTTP/REST Binding (Section 6)
  • Error Codes (Section 9)
  • Security Considerations (Section 10)

Normative Schema

The authoritative type definitions are in spec/rlp.ts. JSON Schemas in /schemas are derived from this source and are non-normative.

Payments & Settlement

RLP intentionally leaves settlement implementation-defined. See PAYMENTS.md for:

  • Why RLP uses a work-first, pay-later model
  • Analysis of existing payment protocols (x402, AP2)
  • Settlement options for implementations
  • Open questions for community input

Agent Identity

RLP agents SHOULD have an A2A-compliant agent card at /.well-known/agent-card.json. RLP does not define its own identity format.

Implementations

Know of an RLP implementation? Open a PR to add it here.

Contributing

See CONTRIBUTING.md for guidelines.

License

Apache 2.0 - See LICENSE