Events x402 REST usage
Query Ethereum contract event logs via eth_getLogs - filter by contract, topic, and block range
Daily transfers, volume and coverage →
47-85-47-24.sslip.io · 47-85-47-24.sslip.io · Infrastructure
Review a built-in risky Docker Compose control-plane service for privileged execution, host namespaces, broad capabilities, an unconfined seccomp profile, literal environment secrets, a public Docker API port, a mounted runtime socket, missing limits, and mutable images without starting containers
The payout address is also published by 10 other service(s); the volume cannot be attributed to one of them.
| Window | Observed | Transfers |
|---|---|---|
| Last complete day (2026-10-31) | — | — |
| Last 7 days | — | — |
| Last 30 days | — | — |
| Growth, 7d against the 7 before | not comparable | |
Daily history →. Observed transfers show value arriving at the payout address; they do not establish service revenue.
Receiving wallets are payment addresses published for this service. Sending wallets transferred funds to an exclusive receiving address; this alone does not prove a purchase or identify an agent.
| Network | Full wallet address | Evidence |
|---|---|---|
| Base | 0xfe8b1298727706a6d9737c5afbc7af8e76842b91 | Shared address · activity cannot be assigned to this serviceFrom source record · source: payai |
No sending wallet addresses have been retained for this service. Buyer wallets are unknown; daily totals and reported payer counts do not reveal their addresses.
Coverage includes retained scans only, not every historical transaction. Earlier daily totals cannot recover sender addresses. Sender lists exclude shared receiving wallets, whose transfers could belong to another service. A provider address does not establish wallet ownership.
Sorted by source-measured calls, not by our opinion. The right-hand figure is observed inflow, which stays empty for peers whose address is shared.
| With a measured call count | 983 (16.2 %) |
|---|---|
| With a published price | 1,130 (18.6 %) |
| With attributable inflows | 22 (0.4 %) |
| Observed inflows · 30d | $60.55 |
| Median measured calls | 2 |
| Median price per call | $0.01 |
Query Ethereum contract event logs via eth_getLogs - filter by contract, topic, and block range
Check if a URL is up: status, latency, redirects, title.
China pulse, cheap enough to POLL: what China is talking about RIGHT NOW and what is NEW since your last call - built for agents that monitor continuously. Returns `consensus` (phrases trending on 2+ of Weibo/Baidu/Douyi...
Get a client token for direct upload to Vercel Blob
Chosen by category and by whether we have measured them, not by who pays us. A sponsored placement in this list is labelled as such.
| Network | Scheme | Amount | Asset |
|---|---|---|---|
| Base | exact | 0.001 | USDC |
“exact” is the price per call. “upto” is a ceiling the client sets, not a price. Atomic amount 1000 = 0.001 USDC per call on Base.
endpoint
https://47-85-47-24.sslip.io/v1/docker-compose-risk
{
"type": "http",
"method": "GET",
"queryParams": {
"scenario": "privileged-control-plane"
}
}
{
"type": "json",
"example": {
"label": "paid-demo:privileged-control-plane",
"stats": {
"volume_count": 0,
"compose_bytes": 334,
"network_count": 0,
"service_count": 1,
"tree_node_count": 19,
"findings_by_severity": {
"low": 2,
"high": 6,
"medium": 4,
"critical": 4
},
"secret_definition_count": 0
},
"profile": "production",
"summary": "BLOCK: 16 finding(s) across 1 service(s); 10 require resolution or explicit approval.",
"verdict": "BLOCK",
"coverage": {
"mode": "static-parsed-docker-compose-json",
"checks": [
"privilege and namespace isolation",
"capabilities and security profiles",
"runtime user and read-only filesystem",
"secret and environment handling",
"published ports and host mounts",
"image and build immutability",
"resource limits, health, and logging",
"external network and volume boundaries"
],
"limitations": [
"Accepts the caller's already parsed Compose JSON and does not resolve interpolation, profiles, includes, extends, anchors, or environment files.",
"Does not inspect image metadata, layers, vulnerabilities, signatures, provenance, or Dockerfile contents.",
"Does not verify host firewall rules, runtime defaults, secret-manager policy, external resource ownership, or the effective deployed model.",
"Static findings do not replace docker compose config validation, image scanning, runtime policy, or a sandboxed deployment test."
],
"builds_executed": false,
"host_files_read": false,
"environment_files_read": false,
"secret_values_returned": false,
"compose_project_started": false,
"docker_daemon_contacted": false,
"images_pulled_or_inspected": false
},
"findings": [
{
"code": "all_capabilities_added",
"path": "services.control-plane.cap_add",
"message": "The service adds all Linux capabilities.",
"severity": "critical",
"standard": "docker-runtime-least-privilege",
"remediation": "Drop all capabilities and add back only the minimum required set."
},
{
"code": "literal_secret_environment",
"path": "services.control-plane.environment",
"message": "The service assigns 1 secret-like environment value(s); values are intentionally omitted.",
"severity": "critical",
"standard": "docker-compose-secrets",
"remediation": "Use Compose secrets or an external secret manager and rotate any exposed value."
},
{
"code": "privileged_container",
"path": "services.control-plane.privileged",
"message": "The service requests a privileged container with near-host-level runtime access.",
"severity": "critical",
"standard": "docker-runtime-least-privilege",
"remediation": "Remove privileged mode and grant only the exact devices and capabilities required."
},
{
"code": "container_runtime_socket_mounted",
"path": "services.control-plane.volumes[0]",
"message": "A container runtime socket is mounted into the service, enabling control of the host daemon.",
"severity": "critical",
"standard": "docker-runtime-isolation",
"remediation": "Remove the socket; use a narrowly scoped authenticated API or a rootless proxy if unavoidable."
},
{
"code": "mutable_or_latest_image",
"path": "services.control-plane.image",
"message": "The runtime image is untagged or uses the mutable latest tag.",
"severity": "high",
"standard": "software-supply-chain",
"remediation": "Pin a trusted image by sha256 digest and automate reviewed digest updates."
},
{
"code": "host_network_namespace",
"path": "services.control-plane.network_mode",
"message": "The service joins the host network namespace.",
"severity": "high",
"standard": "docker-runtime-isolation",
"remediation": "Use an isolated container namespace and expose only the required interface."
},
{
"code": "host_pid_namespace",
"path": "services.control-plane.pid",
"message": "The service joins the host PID namespace.",
"severity": "high",
"standard": "docker-runtime-isolation",
"remediation": "Use an isolated container namespace and expose only the required interface."
},
{
"code": "sensitive_port_publicly_bound",
"path": "services.control-plane.ports[0]",
"message": "A sensitive service port is published on all host interfaces.",
"severity": "high",
"standard": "docker-network-exposure",
"remediation": "Bind to an explicit trusted interface or place the service behind an authenticated proxy and firewall."
},
{
"code": "seccomp_unconfined",
"path": "services.control-plane.security_opt",
"message": "The service disables Docker's default seccomp confinement.",
"severity": "high",
"standard": "docker-runtime-isolation",
"remediation": "Use the default seccomp profile or a narrower reviewed profile."
},
{
"code": "explicit_root_user",
"path": "services.control-plane.user",
"message": "The service explicitly runs as root.",
"severity": "high",
"standard": "docker-runtime-least-privilege",
"remediation": "Select a numeric non-root UID/GID and keep required files owned by that account."
},
{
"code": "resource_limits_missing",
"path": "services.control-plane.deploy.resources.limits",
"message": "The production service has no visible CPU, memory, or process limit.",
"severity": "medium",
"standard": "container-resource-governance",
"remediation": "Set bounded CPU, memory, and PID limits supported by the target Compose runtime."
},
{
"code": "oom_killer_disabled",
"path": "services.control-plane.oom_kill_disable",
"message": "The service disables the kernel OOM killer and can threaten host availability.",
"severity": "medium",
"standard": "container-resource-governance",
"remediation": "Keep OOM killing enabled and enforce an explicit memory limit."
},
{
"code": "writable_root_filesystem",
"path": "services.control-plane.read_only",
"message": "The container root filesystem is not explicitly read-only.",
"severity": "medium",
"standard": "docker-runtime-least-privilege",
"remediation": "Set read_only: true and mount bounded writable tmpfs or volumes where required."
},
{
"code": "no_new_privileges_missing",
"path": "services.control-plane.security_opt",
"message": "The service does not explicitly prevent acquisition of new privileges.",
"severity": "medium",
"standard": "docker-runtime-least-privilege",
"remediation": "Add security_opt: [no-new-privileges:true]."
},
{
"code": "capabilities_not_dropped",
"path": "services.control-plane.cap_drop",
"message": "The service does not explicitly drop all default Linux capabilities.",
"severity": "low",
"standard": "docker-runtime-least-privilege",
"remediation": "Set cap_drop: [ALL] and add back only capabilities proven necessary."
},
{
"code": "healthcheck_missing_or_disabled",
"path": "services.control-plane.healthcheck",
"message": "The production service has no active Compose healthcheck.",
"severity": "low",
"standard": "container-operational-safety",
"remediation": "Add a bounded healthcheck or document an equivalent external probe."
}
],
"services": [
{
"name": "control-plane",
"image": "docker:latest",
"index": 0,
"user_mode": "explicit-root",
"privileged": true,
"ports_count": 1,
"finding_count": 16,
"volumes_count": 1,
"build_configured": false,
"secret_refs_count": 0,
"image_immutability": "latest-or-untagged"
}
],
"risk_score": 100,
"analysis_id": "compose-e78409dc107ac2d4b84b",
"approval_gates": [
"Resolve or explicitly approve 10 critical/high finding(s) before starting the Compose project.",
"Confirm that no credential remains in Compose, environment files, process arguments, image history, or logs.",
"Require a documented owner and expiration date for every host-access exception.",
"Verify firewall, authentication, and intended interface binding for every published port."
],
"analyzer_version": "composeguard-docker-compose/1.0"
}
}
Examples are the provider's own, not a call we made.
The payout address is shared with 10 other service(s). That is normal for facilitator and platform addresses, and it is why this profile shows no inflow figure. The volume exists — it just cannot be split without inventing a rule.
How attribution works →22 of 6,078 services (0.4%) in Infrastructure have attributable inflows; 983 have a source-measured call count. Median measured calls: 2.
Rank this category by observed inflows →Review a built-in risky Docker Compose control-plane service for privileged execution, host namespaces, broad capabilities, an unconfined seccomp profile, literal environment secrets, a public Docker API port, a mounted runtime socket, missing limits, and mutable images without starting containers
Quoted from PayAI · source record · read 2026-10-29
Attribution blocked
· confidence low
The payout address is also published by 10 other service(s); the volume cannot be attributed to one of them.
Why revenue is “unknown”. A revenue figure needs a receipt: an amount a buyer actually paid for this service. We hold none for this entry, and we hold no funds at all. What we have instead is nothing measurable: no price, no attributable address, no receipt. The payout address is also published by 10 other service(s); the volume cannot be attributed to one of them.
No daily history has been archived for this service yet. Open the full daily history →
A payment rail is where the provider asks to be paid. It is not proof that anything was paid through it.
One row per statement. “Verified” means we checked it ourselves and the finding is quoted. “Provider claim” means we read it in the provider's own record. “Not found” is a statement about our search, not proof of absence.
| Statement | Status | What we found | Source | Checked |
|---|---|---|---|---|
| Endpoint | Provider claim |
https://47-85-47-24.sslip.io/v1/docker-compose-risk
EvidenceAls Resource-URL im Bazaar-Eintrag geführt. |
facilitator.payai.network | 2026-10-29 |
| Input output | Provider claim |
Request/response examples published with the listing
EvidenceBeispiel-Ein- und -Ausgabe stammen aus dem Bazaar-Eintrag des Anbieters. |
facilitator.payai.network | 2026-10-29 |
| Payment | Provider claim |
1 rail: Base · payee 0xFe8b1298727706A6D9737C5afbC7AF8e76842B91
EvidenceAus den `accepts`-Einträgen: Netzwerk, Asset, Empfängeradresse und Betrag. Die Adresse ist die Grundlage der späteren On-Chain-Zuordnung; sie ist noch nicht durch eine eigene 402-Antwort bestätigt. |
facilitator.payai.network | 2026-10-29 |
| Pricing | Provider claim |
0.001 USDC per call
EvidenceAtomic amount 1000 = 0.001 USDC per call on Base. Netzwerk: Base. |
facilitator.payai.network | 2026-10-29 |
| Protocol | Provider claim |
x402 (HTTP 402 payment challenge)
EvidenceIm x402 Bazaar als zahlungspflichtige HTTP-Ressource gelistet (x402Version 2, Typ http). |
facilitator.payai.network | 2026-10-29 |
| Provider | Provider claim |
47-85-47-24.sslip.io
EvidenceDie Ressource wird unter diesem Host im x402 Bazaar geführt; die Angaben stammen vom Anbieter. |
facilitator.payai.network | 2026-10-29 |
We have not called this endpoint yet. Until we do, everything above is what the source published — no more.