{"api":"v1","generated_at":"2026-09-16T05:25:31.392Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/animica-dev-x402-random-int-87ec46","pinned_page":"https://tollindex.com/e/animica-dev-x402-random-int-87ec46/at/2026-09-16T04-48Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-09-16T04:48:25.992Z","snapshot_stamp":"2026-09-16T04-48Z","endpoint":{"slug":"animica-dev-x402-random-int-87ec46","canonical_url":"https://animica.dev/x402/random/int","resource":"https://animica.dev/x402/random/int","http_method":"POST","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Uniform integers in [min, max] derived from ONE verified randomness draw by rejection sampling (never modulo bias) — up to 1000 per request. The response carries the raw draw, the node's source/health/attestation and the exact rule, so you can recompute every integer offline.","service_name":"Animica","declared_category":null,"declared_tags":[],"route_template":null,"registry_updated":"2026-08-22T08:41:03.739Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"random int","category":"randomness","first_observed_by_toll":"2026-09-10T19:08:24.178Z","last_observed_by_toll":"2026-09-16T04:48:25.991Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-10T19:08:24.178Z","event":"listed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.0058 USDC","amount_units":0.005808,"decimals_known":true,"pay_to":"0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD","scheme":"exact"},{"registry":"cdp","ordinal":1,"network":"animica:1","asset":"ANM","asset_name":null,"symbol":null,"decimals":null,"amount_display":"68989547038 smallest units, decimals unknown","amount_units":null,"decimals_known":false,"pay_to":"anim1zqpsmegc0qcvzjfukm89xs0zeu3eqyyyel7kelehuszvwfarqypky2gr946ga","scheme":"exact"}],"counters":{"observed_at":"2026-09-16T04:48:25.992Z","calls_30d":3,"unique_payers_30d":1,"last_called_at":"2026-08-22T08:41:03.571Z"},"validation":{"latest":{"observed_at":"2026-09-15T05:45:23.852Z","state":"pass","failed_checks":[],"endpoint_http_status":402,"run_id":"daily-2026-09-15"},"uptime":[{"days":7,"observed":5,"passed":5,"ratio":1},{"days":30,"observed":5,"passed":5,"ratio":1},{"days":90,"observed":5,"passed":5,"ratio":1}],"history_90d":[{"observed_at":"2026-09-15T05:45:23.852Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-15","state_changed":false},{"observed_at":"2026-09-14T05:18:03.461Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-14","state_changed":false},{"observed_at":"2026-09-13T05:13:49.912Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-13","state_changed":false},{"observed_at":"2026-09-12T07:30:08.187Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-12","state_changed":false},{"observed_at":"2026-09-11T11:15:53.013Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-11","state_changed":true}]},"seller":{"wallet":"0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD","page":"https://tollindex.com/seller/0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD","endpoints":58,"hosts":1},"reports":0,"registry_record":{"cdp":[{"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2","decimals":6},"payTo":"0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD","amount":"5808","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":60},{"asset":"ANM","extra":{"unit":"nANM","native":true,"chain_id":1,"decimals":9,"rate_side":"bid","how_to_pay":"Sign a TRANSFER of at least `amount` nANM to payTo on Animica (chainId 1) and send the signed raw transaction as payload.rawTransaction. You pay the chain fee; we submit it. Because we sponsor no gas on this lane, it is priced 25% below the USDC price.","rate_source":"nonkyc","genesis_hash":"0xa0892158cf997c56e91d0aa12e60c36037dae34800a2b54111a8fa17ec88b7de","price_display":"68.989547038 ANM","usd_equivalent":"0.004356","usd_list_price":"0.005808","discount_percent":25,"rate_observed_at":"2026-08-22T08:39:58.000Z","rate_usd_per_anm":"0.00006314"},"payTo":"anim1zqpsmegc0qcvzjfukm89xs0zeu3eqyyyel7kelehuszvwfarqypky2gr946ga","amount":"68989547038","scheme":"exact","network":"animica:1","maxTimeoutSeconds":60}],"quality":{"lastCalledAt":"2026-08-22T08:41:03.571Z","l30DaysTotalCalls":3,"l30DaysUniquePayers":1},"resource":"https://animica.dev/x402/random/int","extensions":{"bazaar":{"info":{"input":{"body":{"max":6,"min":1,"count":3},"type":"http","method":"POST","bodyType":"json"},"output":{"type":"json","example":{"bytes":32,"health":{"passed":true,"min_entropy_per_byte":7.8216},"result":{"max":6,"min":1,"ints":[5,1,2],"count":3},"source":{"name":"software-fallback","model":"os.urandom CSPRNG","notes":"non-attested fallback for testing/degraded mode","vendor":"os","attested":false,"is_quantum":false,"device_path":null,"is_hardware":false},"product":"random_int","encoding":"hex","derivation":{"kind":"range","rules":{"seed":"seed = sha3_256(\"animica/qrng/public/v1\" || \"|k:\" || kind || \"|r:\" || request_id || \"|b:\" || bytes(randomness))","stream":"stream = sha3_256(seed || be8(counter)) for counter = 0,1,2,… concatenated; consumed left to right, never reused","uniform_int":"randbelow(n): k = floor((bitlen(n)+7)/8)+1 bytes per attempt, read big-endian as x; limit = 2^(8k); accept when x < limit - (limit mod n); value = x mod n. Rejected attempts still consume their k bytes. n <= 1 consumes nothing and returns 0. This is rejection sampling — plain \"x mod n\" would bias small values."},"steps":["seed the DRNG with kind=\"range\" and your request_id over the raw randomness above","for i = 0..2: ints[i] = 1 + randbelow(6)"],"domain":"animica/qrng/public/v1","seed_hex":"5fb4cc0e8007c201060453ee9b7cacb38444d32d76d423c61e601117fadd3068","verifier":{"api":"AnimicaBeacon.drngSeed(entropy, kind, request_id) + AnimicaBeacon.QDRNG reproduce the stream; AnimicaBeacon.verifyResult(derivation.recompute) === true whenever `recompute` is present","file":"randomness/beacon_api/static/verify.js (Animica repo, github.com/animicaorg) — zero-dependency, runs in Node and the browser","note":"verify.js calls the seed material `beacon` because it was written for beacon rounds. This product is NOT a beacon round: the seed material is the raw `randomness` bytes above, which the node signed (see `verification`)."},"algorithm":"uniform-int-rejection-sampling","recompute":{"kind":"range","output":[5,1,2],"params":{"hi":6,"lo":1,"count":3},"round_id":0,"beacon_hex":"8e8d85d9c03247ffdff7b3db1c917b7a0e97a569e8cf098071dd91cc9121ae55","request_id":""},"request_id":"","entropy_hex":"8e8d85d9c03247ffdff7b3db1c917b7a0e97a569e8cf098071dd91cc9121ae55","stream_bytes_consumed":6},"randomness":"8e8d85d9c03247ffdff7b3db1c917b7a0e97a569e8cf098071dd91cc9121ae55","attestation":{"alg":"ed25519","backend":"software","attested":false,"digest_hex":"14a2636cf09e18539ab6ed62de65af350c2f6014d269b74d127fc1604c7aa68a","signature_hex":"bee4d32ee31dd92b07f1eee3113ed722c3c96c5fae98c509bcca8f66a5ceaff3eb4a6cd41cd97fc32deebdeeab18b4affea467549dd4ef387ddbdae6d415e900","public_key_hex":"8a2228f4bde8f72964a7ff4aa759f24932ae1cccd9462ad94ca6e508d6b87a64"},"verification":{"rules":["attestation.digest_hex == sha3_256(bytes(randomness))","ed25519_verify(pubkey=attestation.public_key_hex, message=raw_bytes(attestation.digest_hex), signature=attestation.signature_hex)"],"method":"signed-digest-attestation","attested":false,"verifier":"randomness/beacon_api/static/verify.js in the animica repo (github.com/animicaorg) — dependency-free Node module exporting sha3_256; pair with any ed25519 verifier","trust_model":"signed by the serving node, not client-recomputable: you trust the node's entropy source, then verify it signed exactly these bytes. Check health.passed and attestation.attested before relying on it."}}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"body":{"type":"object","required":["min","max"],"properties":{"max":{"type":"integer","description":"upper bound, inclusive (>= min)"},"min":{"type":"integer","description":"lower bound, inclusive"},"count":{"type":"integer","description":"how many integers, 1..1000 (default 1; alias n)"},"request_id":{"type":"string","description":"your own tag; mixed into the DRNG seed so you can recompute this exact draw"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json"],"type":"string"}}},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{}}}}},"discoverable":true},"animica":{"name":"Uniform random integers","price":"0.005808","terms":{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD","scheme":"exact","network":"eip155:8453","chain_id":8453,"amount_atomic":"5808"},"catalog":"https://animica.dev/.well-known/x402","openapi":"https://animica.dev/x402/openapi.json","product":"random_int","currency":"USDC","provider":"Animica","free_trial":{"url":"https://animica.dev/x402/random/int/trial","note":"Same code and same response shape as the paid endpoint. No payment, no payment headers. Quota is per client per UTC day; when it is spent this endpoint says so and points back here.","price":"0","endpoint":"POST /x402/random/int/trial","limit_per_day":3},"description":"Uniform integers in [min, max] derived from ONE verified randomness draw by rejection sampling (never modulo bias) — up to 1000 per request. The response carries the raw draw, the node's source/health/attestation and the exact rule, so you can recompute every integer offline.","content_type":"application/json","x402_version":2,"documentation":"https://animica.dev/x402#product-random_int"},"discovery":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","bodyFields":{"max":{"type":"integer","required":true,"description":"upper bound, inclusive (>= min)"},"min":{"type":"integer","required":true,"description":"lower bound, inclusive"},"count":{"type":"integer","required":false,"description":"how many integers, 1..1000 (default 1; alias n)"},"request_id":{"type":"string","required":false,"description":"your own tag; mixed into the DRNG seed so you can recompute this exact draw"}}},"output":{"type":"json","description":"result {ints}, randomness (hex raw draw), source, health, attestation, verification, derivation {rules, steps, recompute} for offline recomputation, payment metadata"},"entropy":{"note":"observed on the gateway's own readiness draw, published unpaid so the trust model is knowable before purchase; the same fields ride verbatim on every paid response","model":"os.urandom CSPRNG","source":"software-fallback","vendor":"os","attested":false,"is_quantum":false,"is_hardware":false,"observed_at":"2026-08-22T08:41:02.928Z","health_passed":true,"signer_backend":"software","min_entropy_per_byte":7.7725}},"discoverable":true}},"description":"Uniform integers in [min, max] derived from ONE verified randomness draw by rejection sampling (never modulo bias) — up to 1000 per request. The response carries the raw draw, the node's source/health/attestation and the exact rule, so you can recompute every integer offline.","lastUpdated":"2026-08-22T08:41:03.739Z","serviceName":"Animica","x402Version":2}]}}