SecondLook

SecondLook provides an independent pre-action review of a proposed AI or agent action. It checks supplied facts, authority, constraints, reasoning, risks, and missing information before execution. Use it when an action is costly, external, irreversible, or constraint-sensitive. SecondLook does not authorize, execute, or supply missing authority, and results are not guarantees of correctness.

InferenceLiveeip155:8453Exactvia cdp
AiAgentReviewPre-actionDecision-support
Calls · 30d
3↑ 11%
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 22 snapshots so far.
$0.11
Verified settled volume
7 settlements proven x402 by their on-chain EIP-3009 marker.
$0.050
Listed price
As published in the catalog. Always read the live 402 before paying.
3
Calls · 30d
Upstream's own call count for this endpoint, not ours.
3
Unique payers · 30d
Last called 2026-09-13 18:48Z
—
Upstream on-chain volume
Reported by the source catalog.
Paid to
0xc077a55e71a43ad002fbac7bf91d48e9866e5727

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Live 402 challenge

Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.

{
  "code": "payment_required",
  "error": "payment_required",
  "message": "A valid x402 payment is required before inference can begin.",
  "category": "payment",
  "retryable": false,
  "request_id": "cb214057-6a33-4abe-b6d7-db37c3ae2b02"
}

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.05USDC≈ $0.05 USD
on Base · exact scheme

Pay 0.05 USDC on Base to 0xc077…e5727. The signed payment is good for 1 minute.

USD Coin contract
0x8335…02913
Payment window
1 minute
As published
50000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2",
      "paymentFlow": "upfront",
      "assetTransferMethod": "eip3009"
    },
    "payTo": "0xc077a55e71a43ad002fbac7bf91d48e9866e5727",
    "amount": "50000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 60
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "goal": "Review a proposed customer refund before execution.",
          "authority": {
            "basis": "Support policy permits refunds up to $50.",
            "status": "confirmed"
          },
          "known_facts": [
            "The customer was charged twice."
          ],
          "proposed_action": "Issue a $25 refund to the customer.",
          "hard_constraints": [
            "Do not exceed the documented $50 refund limit."
          ]
        },
        "type": "http",
        "method": "POST",
        "bodyType": "json"
      },
      "output": {
        "type": "json",
        "example": {
          "model": "implementation-managed",
          "reason": "The supplied authority, facts, and constraint support the proposed refund.",
          "key_risks": [],
          "created_at": "2026-08-29T00:00:00.000Z",
          "decision_id": "00000000-0000-4000-8000-000000000000",
          "review_status": "no_material_concern_found",
          "policy_version": "2026-08-27.5",
          "recommendation": "proceed",
          "missing_information": []
        }
      }
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "input",
        "output"
      ],
      "properties": {
        "input": {
          "type": "object",
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "properties": {
            "body": {
              "type": "object",
              "allOf": [
                {
                  "not": {
                    "required": [
                      "constraint_context",
                      "hard_constraints"
                    ],
                    "properties": {
                      "hard_constraints": {
                        "minItems": 1
                      }
                    }
                  }
                },
                {
                  "not": {
                    "required": [
                      "constraint_context",
                      "important_constraints"
                    ],
                    "properties": {
                      "important_constraints": {
                        "minItems": 1
                      }
                    }
                  }
                }
              ],
              "required": [
                "goal",
                "proposed_action"
              ],
              "properties": {
                "goal": {
                  "type": "string",
                  "pattern": "\\S",
                  "maxLength": 4000,
                  "minLength": 1
                },
                "authority": {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "basis": {
                      "type": "string",
                      "pattern": "\\S",
                      "maxLength": 4000,
                      "minLength": 1
                    },
                    "limits": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "\\S",
                        "maxLength": 4000,
                        "minLength": 1
                      },
                      "maxItems": 25
                    },
                    "status": {
                      "enum": [
                        "confirmed",
                        "unclear",
                        "unknown"
                      ],
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "known_facts": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "\\S",
                    "maxLength": 4000,
                    "minLength": 1
                  },
                  "maxItems": 25
                },
                "uncertainties": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "\\S",
                    "maxLength": 4000,
                    "minLength": 1
                  },
                  "maxItems": 25
                },
                "unknown_facts": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "\\S",
                    "maxLength": 4000,
                    "minLength": 1
                  },
                  "maxItems": 25
                },
                "proposed_action": {
                  "type": "string",
                  "pattern": "\\S",
                  "maxLength": 4000,
                  "minLength": 1
                },
                "hard_constraints": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "\\S",
                    "maxLength": 4000,
                    "minLength": 1
                  },
                  "maxItems": 25
                },
                "soft_preferences": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "\\S",
                    "maxLength": 4000,
                    "minLength": 1
                  },
                  "maxItems": 25
                },
                "reasoning_summary": {
                  "type": "string",
                  "pattern": "\\S",
                  "maxLength": 4000,
                  "minLength": 1
                },
                "constraint_context": {
                  "type": "object",
                  "required": [
                    "schema_version",
                    "constraints"
                  ],
                  "properties": {
                    "constraints": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "allOf": [
                          {
                            "if": {
                              "required": [
                                "applicability"
                              ],
                              "properties": {
                                "applicability": {
                                  "const": "inapplicable"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "action_relation": {
                                  "const": "not_applicable"
                                }
                              }
                            }
                          },
                          {
                            "if": {
                              "required": [
                                "applicability"
                              ],
                              "properties": {
                                "applicability": {
                                  "enum": [
                                    "applicable",
                                    "unresolved"
                                  ]
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "action_relation": {
                                  "enum": [
                                    "satisfies",
                                    "violates",
                                    "unresolved"
                                  ]
                                }
                              }
                            }
                          }
                        ],
                        "required": [
                          "id",
                          "text",
                          "applicability",
                          "action_relation"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                          },
                          "text": {
                            "type": "string",
                            "pattern": "\\S",
                            "maxLength": 1000,
                            "minLength": 1
                          },
                          "applicability": {
                            "enum": [
                              "applicable",
                              "inapplicable",
                              "unresolved"
                            ]
                          },
                          "action_relation": {
                            "enum": [
                              "satisfies",
                              "violates",
                              "unresolved",
                              "not_applicable"
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      "maxItems": 25,
                      "minItems": 1,
                      "uniqueItems": true
                    },
                    "schema_version": {
                      "const": "constraint-context-v1"
                    },
                    "conflict_groups": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "constraint_ids",
                          "control"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                          },
                          "control": {
                            "oneOf": [
                              {
                                "type": "object",
                                "required": [
                                  "status",
                                  "controlling_constraint_id"
                                ],
                                "properties": {
                                  "status": {
                                    "const": "established"
                                  },
                                  "controlling_constraint_id": {
                                    "type": "string",
                                    "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                                  }
                                },
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "required": [
                                  "status"
                                ],
                                "properties": {
                                  "status": {
                                    "const": "unresolved"
                                  }
                                },
                                "additionalProperties": false
                              }
                            ]
                          },
                          "constraint_ids": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "maxItems": 10,
                            "minItems": 2,
                            "uniqueItems": true
                          },
                          "independently_binding_constraint_ids": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "maxItems": 10,
                            "uniqueItems": true
                          }
                        },
                        "additionalProperties": false
                      },
                      "maxItems": 12,
                      "uniqueItems": true
                    }
                  },
                  "additionalProperties": false
                },
                "important_constraints": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "\\S",
                    "maxLength": 4000,
                    "minLength": 1
                  },
                  "maxItems": 25
                },
                "alternatives_considered": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "\\S",
                    "maxLength": 4000,
                    "minLength": 1
                  },
                  "maxItems": 25
                },
                "estimated_cost_of_action": {
                  "type": "object",
                  "required": [
                    "amount",
                    "currency"
                  ],
                  "properties": {
                    "amount": {
                      "type": "number",
                      "maximum": 1000000000000000,
                      "minimum": 0
                    },
                    "currency": {
                      "type": "string",
                      "pattern": "^[A-Z]{3}$"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "description": "Structural JSON Schema plus the expressible cross-field rules. The x-secondlook-semantic-validation extension lists additional deterministic runtime invariants required for acceptance.",
              "additionalProperties": false,
              "x-secondlook-semantic-validation": {
                "failure": {
                  "error_codes": [
                    "invalid_secondlook_request",
                    "invalid_constraint_context"
                  ],
                  "http_status": 400
                },
                "invariants": [
                  {
                    "id": "aggregate_request_text",
                    "rule": "Aggregate request text across all request fields must be at most 24,000 JavaScript string code units."
                  },
                  {
                    "id": "aggregate_constraint_text",
                    "rule": "Aggregate constraint_context constraint text must be at most 12,000 JavaScript string code units."
                  },
                  {
                    "id": "unique_constraint_ids",
                    "rule": "Each constraint id must be unique across constraint_context.constraints, even when the surrounding objects differ."
                  },
                  {
                    "id": "unique_conflict_group_ids",
                    "rule": "Each conflict-group id must be unique across constraint_context.conflict_groups, even when the surrounding objects differ."
                  },
                  {
                    "id": "conflict_group_references",
                    "rule": "Every conflict-group constraint id must reference an existing constraint whose applicability is not inapplicable."
                  },
                  {
                    "id": "single_conflict_group_membership",
                    "rule": "A constraint may appear in at most one conflict group."
                  },
                  {
                    "id": "established_controller",
                    "rule": "An established controlling_constraint_id must identify an applicable member of that conflict group."
                  },
                  {
                    "id": "independently_binding_members",
                    "rule": "independently_binding_constraint_ids must be unique members of the same group and must not include its established controller."
                  }
                ],
                "runtime_is_authoritative": true,
                "additional_runtime_validation_required": true
              }
            },
            "type": {
              "const": "http"
            },
            "method": {
              "const": "POST"
            },
            "bodyType": {
              "const": "json"
            }
          },
          "additionalProperties": false
        },
        "output": {
          "type": "object",
          "required": [
            "type",
            "example"
          ],
          "properties": {
            "type": {
              "const": "json"
            },
            "example": {
              "type": "object",
              "required": [
                "decision_id",
                "created_at",
                "policy_version",
                "model",
                "review_status",
                "recommendation",
                "reason",
                "key_risks",
                "missing_information"
              ],
              "properties": {
                "model": {
                  "type": "string",
                  "description": "Deprecated compatibility field; the underlying inference implementation is not a stable product contract."
                },
                "reason": {
                  "type": "string"
                },
                "key_risks": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "decision_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "review_status": {
                  "enum": [
                    "no_material_concern_found",
                    "material_concern_found",
                    "insufficient_information",
                    "human_review_required"
                  ],
                  "type": "string"
                },
                "policy_version": {
                  "type": "string"
                },
                "recommendation": {
                  "enum": [
                    "proceed",
                    "reconsider",
                    "need_more_information",
                    "escalate_to_human"
                  ],
                  "type": "string"
                },
                "missing_information": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  }
}

Provenance

Seen in the source catalog
2026-09-13 18:48Z
Last indexed by Roundhouse
2026-09-25 10:50Z
Last enriched (probe, favicon, geo)
2026-09-12 11:45Z
x402 version
2
Max timeout
60s
Liveness probe
HTTP 404
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 22 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service SecondLook and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=SecondLook'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://secondlook.edgecasesystems.workers.dev/v1/paid/second-look, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.