B

SocioLogic RNG — MPP Grade B

randomnesscryptographyutilitiesrngentropy
Preview responses and set spending limits for this service through use.mpp.land Free budget controls, response samples, and reliability routing.

Compliance Checks

✓ All paid ops declare 402 response MUST 10pt
✗ All x-payment-info valid MUST 10pt
✗ Challenge has Cache-Control: no-store MUST 5pt
- Challenge digest on POST SHOULD 3pt
✓ Challenge has expires SHOULD 3pt
✗ Challenge has Problem Details SHOULD 2pt
✓ Challenge has required params MUST 5pt
✓ Challenge has WWW-Authenticate MUST 5pt
✓ Challenge returns 402 MUST 10pt
✓ Correct Content-Type MUST 5pt
✗ Has Cache-Control on discovery SHOULD 5pt
✓ Has input schemas SHOULD 5pt
✓ Has llms.txt SHOULD 5pt
✓ Has /openapi.json at root MUST 10pt
✓ Has required top-level fields MUST 10pt
✓ Served over HTTPS MUST 10pt
✗ Uses standard categories SHOULD 2pt
1 issue
  • 402 response missing Cache-Control: no-store

Paid Operations (7)

GET /random dynamic
Random float between 0 and 1

Generate cryptographically secure random float(s) in [0, 1) using rejection sampling. Use count for multiple values - price scales linearly ($0.01 per value).

Amount
map[currency:USD max:1.000000 min:0.010000 mode:dynamic]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: offers: [map[amount:<nil> currency:usd description:$0.01 per value, scales with count intent:charge method:tempo]] price: map[currency:USD max:1.000000 min:0.010000 mode:dynamic] protocols: [map[x402:map[]] map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]]]

Parameters

NameInTypeRequiredDescription
count query integer No Number of values (default 1, max 100). Price: $0.01 per value.

Response Schema (200)

{
  "oneOf": [
    {
      "description": "Single value (count=1)",
      "properties": {
        "entropy": {
          "properties": {
            "hex": {
              "type": "string"
            },
            "raw": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "range": {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        "type": {
          "enum": [
            "float"
          ],
          "type": "string"
        },
        "value": {
          "description": "Random float in [0, 1)",
          "type": "number"
        }
      },
      "type": "object"
    },
    {
      "description": "Multiple values (count\u003e1)",
      "properties": {
        "count": {
          "type": "integer"
        },
        "entropy": {
          "properties": {
            "hex": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "raw": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "range": {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        "type": {
          "enum": [
            "float"
          ],
          "type": "string"
        },
        "values": {
          "description": "Random floats in [0, 1)",
          "items": {
            "type": "number"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  ]
}
GET /random/int dynamic
Random integer in range

Generate a cryptographically secure random integer between min and max (inclusive) using rejection sampling to eliminate modulo bias.

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: offers: [map[amount:10000 currency:usd description:Random integer in range intent:charge method:tempo]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]]]

Parameters

NameInTypeRequiredDescription
min query integer No Minimum value (inclusive)
max query integer No Maximum value (inclusive)

Response Schema (200)

FieldTypeDescription
entropy object -
range array[integer] -
type string -
value integer Random integer in [min, max]
GET /uuid dynamic
Generate UUID v4

Generate cryptographically secure UUID v4(s) with raw entropy bytes. Use count for multiple UUIDs - price scales linearly ($0.01 per UUID).

Amount
map[currency:USD max:1.000000 min:0.010000 mode:dynamic]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: offers: [map[amount:<nil> currency:usd description:$0.01 per value, scales with count intent:charge method:tempo]] price: map[currency:USD max:1.000000 min:0.010000 mode:dynamic] protocols: [map[x402:map[]] map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]]]

Parameters

NameInTypeRequiredDescription
count query integer No Number of UUIDs (default 1, max 100). Price: $0.01 per UUID.

Response Schema (200)

{
  "oneOf": [
    {
      "description": "Single UUID (count=1)",
      "properties": {
        "entropy": {
          "properties": {
            "hex": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "raw": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "type": {
          "enum": [
            "uuid"
          ],
          "type": "string"
        },
        "value": {
          "format": "uuid",
          "type": "string"
        },
        "version": {
          "enum": [
            4
          ],
          "type": "integer"
        }
      },
      "type": "object"
    },
    {
      "description": "Multiple UUIDs (count\u003e1)",
      "properties": {
        "count": {
          "type": "integer"
        },
        "entropy": {
          "properties": {
            "hex": {
              "items": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "type": "array"
            },
            "raw": {
              "items": {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "type": {
          "enum": [
            "uuid"
          ],
          "type": "string"
        },
        "values": {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        "version": {
          "enum": [
            4
          ],
          "type": "integer"
        }
      },
      "type": "object"
    }
  ]
}
GET /dice dynamic
Roll a die

Roll a die with configurable sides (2-1000). Uses rejection sampling for unbiased results.

Amount
map[amount:0.020000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: offers: [map[amount:20000 currency:usd description:$0.02 per call intent:charge method:tempo]] price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]]]

Parameters

NameInTypeRequiredDescription
sides query integer No Number of sides

Response Schema (200)

FieldTypeDescription
entropy object -
roll integer Result (1 to sides)
sides integer -
GET /coin dynamic
Flip a coin

Cryptographically fair coin flip returning heads or tails. Use count for multiple flips in one call - price scales linearly ($0.02 per flip).

Amount
map[currency:USD max:2.000000 min:0.020000 mode:dynamic]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: offers: [map[amount:<nil> currency:usd description:$0.02 per flip, scales with count intent:charge method:tempo]] price: map[currency:USD max:2.000000 min:0.020000 mode:dynamic] protocols: [map[x402:map[]] map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]]]

Parameters

NameInTypeRequiredDescription
count query integer No Number of flips (default 1, max 100). Price: $0.02 per flip.

Response Schema (200)

{
  "oneOf": [
    {
      "description": "Single flip (count=1)",
      "properties": {
        "entropy": {
          "properties": {
            "hex": {
              "type": "string"
            },
            "raw": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "flip": {
          "enum": [
            "heads",
            "tails"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    {
      "description": "Multiple flips (count\u003e1)",
      "properties": {
        "count": {
          "type": "integer"
        },
        "entropy": {
          "properties": {
            "hex": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "raw": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "flips": {
          "items": {
            "enum": [
              "heads",
              "tails"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  ]
}
POST /shuffle dynamic
Shuffle an array

Shuffle an array using the Fisher-Yates algorithm with cryptographic randomness. Max 1000 items, 100KB payload.

Amount
map[amount:0.020000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: offers: [map[amount:20000 currency:usd description:$0.02 per call intent:charge method:tempo]] price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]]]

Input Schema

{
  "description": "Array of items to shuffle",
  "items": {},
  "maxItems": 1000,
  "type": "array"
}

Response Schema (200)

FieldTypeDescription
count integer -
entropy object -
shuffled array -
POST /weighted dynamic
Weighted random selection

Select a random item from weighted options. Weights can be any positive numbers. Max 1000 items.

Amount
map[amount:0.020000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: offers: [map[amount:20000 currency:usd description:$0.02 per call intent:charge method:tempo]] price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]]]

Input Schema

FieldTypeRequiredDescription
items array Yes Items to choose from
weights array Yes Corresponding weights (positive)

Response Schema (200)

FieldTypeDescription
entropy object -
probability number -
selected The selected item
selectedIndex integer -

Payment Methods

Methods
tempo (from challenge)
Intents
charge (from challenge)
Currencies (discovery)
-
Currency (challenge)
USDC.e on Tempo Mainnet Presto (Tempo Mainnet Presto)
Multiple Challenges
No

Recipients

  • 0x0b6E3594Df4Faa6D66196D5a3271796AD8Bb505d
Per-endpoint breakdown
GET /coin
0x0b6E3594Df4Faa6D66196D5a3271796AD8Bb505d
GET /dice
0x0b6E3594Df4Faa6D66196D5a3271796AD8Bb505d
GET /random
0x0b6E3594Df4Faa6D66196D5a3271796AD8Bb505d
GET /random/int
0x0b6E3594Df4Faa6D66196D5a3271796AD8Bb505d
GET /uuid
0x0b6E3594Df4Faa6D66196D5a3271796AD8Bb505d
POST /shuffle
0x0b6E3594Df4Faa6D66196D5a3271796AD8Bb505d

Security

TLS Version
TLSv1.3
Challenge ID Unique
Yes
Challenge ID Length
43
Digest Binding
-

Uptime

Discovery
Reachable (74ms)
Challenge
Reachable (423ms)
Last Checked

Schema Completeness

Paid Operations
7
With Input Schema
2
With Description
7
5 missing schema
  • GET /random
  • GET /random/int
  • GET /uuid
  • GET /dice
  • GET /coin

Documentation

Homepage
https://www.sociologic.ai
API Reference
https://rng.sociologic.ai/openapi.json
llms.txt
https://rng.sociologic.ai/llms.txt reachable

Discovery

OpenAPI URL
https://rng.sociologic.ai/openapi.json
OpenAPI Version
3.1.0
Service Version
1.0.0
Document Size
10936 bytes
Document Hash
005a87fcd58bd1ed58e652b91daa04508365ea46a35b03d16a08dad5f40c9cd3

Version History (30 snapshots)

Grade: F (20%) → B (76%)
Grade: B (76%) → F (20%)
  • document hash changed (no semantic differences detected)
Scan snapshots
Date Grade Score Response Status
2026-05-03 B 76% 183ms Up
2026-05-04 B 76% 54ms Up
2026-05-05 B 76% 57ms Up
2026-05-06 B 76% 54ms Up
2026-05-07 B 76% 50ms Up
2026-05-08 B 76% 78ms Up
2026-05-09 B 76% 56ms Up
2026-05-10 B 76% 441ms Up
2026-05-11 B 76% 309ms Up
2026-05-12 B 76% 211ms Up
2026-05-13 B 76% 51ms Up
2026-05-14 B 76% 68ms Up
2026-05-15 B 76% 54ms Up
2026-05-16 B 76% 63ms Up
2026-05-17 B 76% 51ms Up
2026-05-18 B 76% 155ms Up
2026-05-19 B 76% 184ms Up
2026-05-20 B 76% 74ms Up
2026-05-21 B 76% 64ms Up
2026-05-22 B 76% 68ms Up
2026-05-23 B 76% 61ms Up
2026-05-24 F 20% 56ms Up
2026-05-25 B 76% 61ms Up
2026-05-26 B 76% 49ms Up
2026-05-27 B 76% 159ms Up
2026-05-28 B 76% 147ms Up
2026-05-29 B 76% 58ms Up
2026-05-30 B 76% 106ms Up
2026-05-31 B 76% 153ms Up
2026-06-01 B 76% 197ms Up