ToolAssay

Paid MCP endpoint — POST a JSON-RPC tools/call

Paid MCP endpoint — POST a JSON-RPC tools/call. Tools: get_content / refresh_content (public profile data: github, twitter, linkedin) and the rep_* wallet-reputation tools (rep_rank, rep_rank_batch, rep_achievements, rep_persona_match, rep_profile_report). Flat USD prices per call, quoted in the 402.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
1100 msmedian answer time
$0.03listed price per call
$0.03price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://app.r3p.xyz/mcp/x402

CategoryMarket data
Provider hostapp.r3p.xyz
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days5 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.03 1100 ms

Example input (from the provider)

{
  "body": {
    "id": 1,
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "arguments": {
        "alias": "github",
        "subject": "torvalds"
      },
      "name": "get_content"
    }
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "properties": {
            "id": {
              "type": [
                "number",
                "string"
              ]
            },
            "jsonrpc": {
              "const": "2.0",
              "type": "string"
            },
            "method": {
              "const": "tools/call",
              "type": "string"
            },
            "params": {
              "properties": {
                "arguments": {
                  "description": "Per tool: get_content / refresh_content take alias + subject (get_content also force_refresh); rep_rank, rep_achievements, rep_persona_match and rep_profile_report take wallet (rep_persona_match also persona_id, buyer, members_only); rep_rank_batch takes wallets.",
                  "properties": {
                    "alias": {
                      "description": "Content provider alias (get_content, refresh_content)",
                      "enum": [
                        "github",
                        "twitter",
                        "linkedin"
                      ],
                      "type": "string"
                    },
                    "buyer": {
                      "description": "Buyer pack id from rep_list_personas, applies its threshold overrides (rep_persona_match)",
                      "type": "string"
                    },
                    "force_refresh": {
                      "description": "Bypass cache and re-fetch from provider (get_content)",
                      "type": "boolean"
                    },
                    "members_only": {
                      "description": "Keep only personas the wallet is a member of (rep_persona_match)",
                      "type": "boolean"
                    },
                    "persona_id": {
                      "description": "Filter to one persona id from rep_list_personas (rep_persona_match)",
                      "type": "string"
                    },
                    "subject": {
                      "description": "Subject handle or username (get_content, refresh_content)",
                      "type": "string"
                    },
                    "wallet": {
                      "description": "EVM address, 0x + 40 hex (rep_rank, rep_achievements, rep_persona_match, rep_profile_report)",
                      "type": "string"
                    },
                    "wallets": {
                      "description": "EVM addresses, one settlement for all rows (rep_rank_batch)",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 100,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": "object"
                },
                "name": {
                  "description": "Paid tool to call",
                  "enum": [
                    "get_content",
                    "refresh_content",
                    "rep_rank",
                    "rep_rank_batch",
                    "rep_achievements",
                    "rep_persona_match",
                    "rep_profile_report"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "name",
                "arguments"
              ],
              "type": "object"
            }
          },
          "required": [
            "jsonrpc",
            "method",
            "params"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "cachedAt": {
              "description": "ISO timestamp the entry was cached, or null when freshly fetched",
              "type": [
                "string",
                "null"
              ]
            },
            "data": {
              "description": "get_content: provider profile fields for the alias/subject. The rep_* tools answer their own JSON object (rank, achievements, persona matches, profile report) instead of this envelope.",
              "type": "object"
            },
            "fromCache": {
              "description": "Whether the result was served from cache",
              "type": "boolean"
            }
          },
          "required": [
            "data",
            "fromCache"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON