random-number-generator

Random Number Generator

  • 3 Entrypoints
  • v0.1.1 Version
  • Enabled Payments
rng.spinnin.top

Entrypoints

Explore the capabilities exposed by this agent. Invoke with JSON, stream responses when available, and inspect pricing where monetization applies.

rng-free

Invoke

Generate single random number (16-bit unsigned) [FREE]

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/rng-free/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "min": {
      "description": "Minimum value (default: 0)",
      "type": "number",
      "minimum": 0
    },
    "max": {
      "description": "Maximum value, inclusive (default: 65535)",
      "type": "number",
      "maximum": 65535
    }
  },
  "additionalProperties": false
}
Output Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "result": {
      "description": "Generated random number.",
      "type": "number"
    }
  },
  "required": [
    "result"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'http://rng.spinnin.top/entrypoints/rng-free/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "min": 0,
        "max": 65535
      }
    }
  '

rng-single

Invoke

Generate single random number (256-bit unsigned) [$0.01]

Pricing Invoke: 0.01
Network base
Invoke Endpoint POST /entrypoints/rng-single/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "min": {
      "description": "Minimum value, inclusive (number or hex).",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "0[xX][0-9a-fA-F]+"
        }
      ]
    },
    "max": {
      "description": "Maximum value, inclusive (number or hex).",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "0[xX][0-9a-fA-F]+"
        }
      ]
    },
    "bits": {
      "description": "Maximum value in bits (default: 256)",
      "type": "number",
      "minimum": 1,
      "maximum": 256
    },
    "bytes": {
      "description": "Maximum value in bytes (default: 32)",
      "type": "number",
      "minimum": 1,
      "maximum": 256
    },
    "padded": {
      "description": "Pad with zeroes to the left (default: false)",
      "default": false,
      "type": "boolean"
    },
    "format": {
      "description": "Output format",
      "default": "decimal",
      "type": "string",
      "enum": [
        "number",
        "decimal",
        "hex",
        "base16",
        "binary"
      ]
    }
  },
  "required": [
    "format"
  ],
  "additionalProperties": false
}
Output Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "result": {
      "description": "Generated random number.",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    }
  },
  "required": [
    "result"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'http://rng.spinnin.top/entrypoints/rng-single/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "format": "number"
      }
    }
  '

rng-multi

Invoke

Generate multiple random numbers (256-bit unsigned) [$0.10]

Pricing Invoke: 0.10
Network base
Invoke Endpoint POST /entrypoints/rng-multi/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "count": {
      "description": "Number of random numbers to generate (maximum 100)",
      "type": "number",
      "minimum": 1,
      "maximum": 100
    },
    "min": {
      "description": "Minimum value, inclusive (number or hex).",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "0[xX][0-9a-fA-F]+"
        }
      ]
    },
    "max": {
      "description": "Maximum value, inclusive (number or hex).",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "0[xX][0-9a-fA-F]+"
        }
      ]
    },
    "bits": {
      "description": "Maximum value in bits (default: 256)",
      "type": "number",
      "minimum": 1,
      "maximum": 256
    },
    "bytes": {
      "description": "Maximum value in bytes (default: 32)",
      "type": "number",
      "minimum": 1,
      "maximum": 256
    },
    "padded": {
      "description": "Pad with zeroes to the left (default: false)",
      "default": false,
      "type": "boolean"
    },
    "format": {
      "description": "Output format",
      "default": "decimal",
      "type": "string",
      "enum": [
        "number",
        "decimal",
        "hex",
        "base16",
        "binary"
      ]
    }
  },
  "required": [
    "count",
    "format"
  ],
  "additionalProperties": false
}
Output Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "result": {
      "description": "Array of generated random numbers.",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "number"
          },
          {
            "type": "string"
          }
        ]
      }
    }
  },
  "required": [
    "result"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'http://rng.spinnin.top/entrypoints/rng-multi/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "count": 1,
        "format": "number"
      }
    }
  '

Client Example: x402-fetch

Use the x402-fetch helpers to wrap a standard fetch call and automatically attach payments. This script loads configuration from .env, pays the facilitator, and logs both the response body and the decoded payment receipt.

import { config } from "dotenv";
import {
  decodeXPaymentResponse,
  wrapFetchWithPayment,
  createSigner,
  type Hex,
} from "x402-fetch";

config();

const privateKey = process.env.PRIVATE_KEY as Hex | string;
const baseURL = process.env.RESOURCE_SERVER_URL as string; // e.g. https://example.com
const endpointPath = process.env.ENDPOINT_PATH as string; // e.g. /weather
const url = `${baseURL}${endpointPath}`; // e.g. https://example.com/weather

if (!baseURL || !privateKey || !endpointPath) {
  console.error("Missing required environment variables");
  process.exit(1);
}

/**
 * Demonstrates paying for a protected resource using x402-fetch.
 *
 * Required environment variables:
 * - PRIVATE_KEY            Signer private key
 * - RESOURCE_SERVER_URL    Base URL of the agent
 * - ENDPOINT_PATH          Endpoint path (e.g. /entrypoints/echo/invoke)
 */
async function main(): Promise<void> {
  // const signer = await createSigner("solana-devnet", privateKey); // uncomment for Solana
  const signer = await createSigner("base-sepolia", privateKey);
  const fetchWithPayment = wrapFetchWithPayment(fetch, signer);

  const response = await fetchWithPayment(url, { method: "GET" });
  const body = await response.json();
  console.log(body);

  const paymentResponse = decodeXPaymentResponse(
    response.headers.get("x-payment-response")!
  );
  console.log(paymentResponse);
}

main().catch((error) => {
  console.error(error?.response?.data?.error ?? error);
  process.exit(1);
});

Manifest

Loading…
Fetching agent card…