---
title: "Look up Scout scans that named this address as counterparty"
method: GET
path: "/api/counterparty/{address}"
tags: ["Verification Records"]
---

# Look up Scout scans that named this address as counterparty

`GET /api/counterparty/{address}`

## Request

- Base URL: `https://flint.network`
- URL: `https://flint.network/api/counterparty/{address}`
- Auth: none required

Public, unauthenticated, rate-limited lookup. Returns bounded, newest-first, redacted evidence (no payer wallet, no nonce, no caller binding tokens) of FLINT Scout scans that named this address as the transaction counterparty, with each record's reported outcome when available.

## Path parameters

- `address` string, required

## Query parameters

- `chain` string

## Response `200`

Bounded, redacted scan history for this counterparty address.

- CounterpartyResponse
  - `ok` unknown, required
  - `address` string, required
  - `chain` string, required
  - `scans` CounterpartyScan[], required
    - `record_id` string, nullable, required
    - `record_url` string, uri, nullable, required
    - `issued_at` string, date-time, nullable, required
    - `verdict` string, nullable, required
    - `amount_display` string, nullable, required
    - `token` string, nullable, required
    - `flint_agent_id` string, nullable, required
    - `passport_id` string, nullable, required
    - `passport_url` string, uri, nullable, required
    - `outcome` RecordOutcome, required: What actually happened after a scan, as reported through POST /api/records/{record_id}/outcome. GET /api/records/{id} and GET /api/counterparty/{address} strip reporter.ref from this shape before returning it publicly; reporter.type is always kept.
      - `outcome` 'executed' | 'held' | 'executed_despite_block' | 'cancelled', required
      - `tx_hash` string, nullable
      - `chain` string, nullable
      - `reported_at` string, date-time, required
      - `reporter` object, required
        - `type` 'owner_session' | 'caller' | 'partner', required
        - `ref` string, nullable: Stripped from every public projection of this shape; present only in the reporter's own POST response.
      - `verdict_at_scan` string, nullable
      - `override` boolean, required: True when verdict_at_scan was block and outcome starts with executed.
      - `tx_verified` boolean, nullable: Best-effort etherscan check of tx_hash against the scanned counterparty and amount. null when Etherscan is not configured or the check was inconclusive; a definitive non-match is rejected 400 tx_hash_mismatch instead of being stored.
      - `ledger_recorded` boolean: True only when an override was actually written to the passport's Scout ledger and Sentinel was notified: requires the override to be reported while the record's passport binding was credited, or by the passport owner's own session.
      - `reason` 'passport_not_credited' | 'null', nullable: Set to passport_not_credited when an override could not be written to the passport's Scout ledger because the binding was not credited and the reporter was not the owner's session.
  - `count` integer, required

## Other responses

- `400`: Invalid request
- `405`: HTTP method not allowed for this resource.
- `429`: The cheap caller-admission quota for paid attempts was exceeded.

---

[API](https://skmtc.dev/flint/apis/flint-agent-transaction-control-api.md) · [All operations](https://skmtc.dev/flint/apis/flint-agent-transaction-control-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flint/apis/flint-agent-transaction-control-api/revisions/eb5052b7b5dc?raw)
