> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qa.esectra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Handles `GET /v1/wallets/{network}/{address}/screenings`.

> # Errors

Returns `401` without usable credentials and `422` for an unusable
address. A tenant with no history for the address gets an empty list.



## OpenAPI

````yaml /openapi.json get /v1/wallets/{network}/{address}/screenings
openapi: 3.1.0
info:
  title: Esectra API
  description: >-
    Transaction screening, identity verification, and wallet risk.


    Every create route accepts `Idempotency-Key`; replaying one returns the
    original record with `200` where the first call returned `201`. `POST
    /v1/transactions` requires the header, because a duplicated transaction is a
    duplicated financial record.
  license:
    name: proprietary
    identifier: proprietary
  version: 0.1.0
servers:
  - url: https://qa.esectra.com
    description: Esectra QA Documentation
security: []
paths:
  /v1/wallets/{network}/{address}/screenings:
    get:
      tags:
        - Wallets
      summary: Handles `GET /v1/wallets/{network}/{address}/screenings`.
      description: |-
        # Errors

        Returns `401` without usable credentials and `422` for an unusable
        address. A tenant with no history for the address gets an empty list.
      operationId: wallet_screenings_handler
      parameters:
        - name: network
          in: path
          description: Blockchain network
          required: true
          schema:
            type: string
        - name: address
          in: path
          description: Wallet address
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Screenings, newest first
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningHistoryResponseBody'
        '401':
          description: No usable credentials
        '422':
          description: The address is not valid for that network
        '503':
          description: A backing store could not be reached
      security:
        - api_key: []
        - session_cookie: []
components:
  schemas:
    ScreeningHistoryResponseBody:
      type: object
      description: Screening history response body.
      required:
        - address
        - screenings
      properties:
        address:
          type: string
          description: Address the history belongs to.
        next_cursor:
          type:
            - string
            - 'null'
          description: >-
            Pass back as `cursor` to read the next page. Absent at the end of
            the

            listing, which is how a caller knows to stop.
        screenings:
          type: array
          items:
            $ref: '#/components/schemas/ScreeningBody'
          description: Screenings, newest first. History is append-only.
    ScreeningBody:
      type: object
      description: One screening record as returned to a customer.
      required:
        - screening_id
        - address
        - network
        - risk_level
        - exposures
        - sanctions_signals
        - sanctions_evidence
        - jurisdiction_risks
        - mixer_signals
        - provider
        - evidence
        - served_from_cache
      properties:
        address:
          type: string
          description: Address that was screened.
        attribution:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/AttributedEntity'
              description: Entity the address is attributed to.
        cache:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ScreeningCacheProvenance'
              description: Where a reused answer came from, and how old it was.
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceRef'
          description: References to the retained raw provider response.
        exposures:
          type: array
          items:
            $ref: '#/components/schemas/RiskExposure'
          description: Normalized risk exposures.
        jurisdiction_risks:
          type: array
          items:
            $ref: '#/components/schemas/JurisdictionRisk'
          description: Jurisdiction risks.
        mixer_signals:
          type: array
          items:
            type: string
          description: Mixer signals derived from the exposures.
        network:
          type: string
          description: Network the address is on.
        provider:
          $ref: '#/components/schemas/ProviderMetadata'
          description: Provider and data version behind the screening.
        provider_risk_score:
          type:
            - number
            - 'null'
          format: float
          description: The provider's own score, an input signal only.
        risk_level:
          $ref: '#/components/schemas/RiskLevel'
          description: Explainable risk level from the retained signals.
        sanctions_evidence:
          type: array
          items:
            $ref: '#/components/schemas/SanctionsEvidence'
          description: The sanctions publications this answer was reached against.
        sanctions_signals:
          type: array
          items:
            $ref: '#/components/schemas/SanctionsSignal'
          description: Sanctions signals.
        screening_id:
          type: string
          description: Screening record identifier.
        served_from_cache:
          type: boolean
          description: Whether the answer was reused from the screening cache.
    AttributedEntity:
      type: object
      description: An entity a provider attributes an address to.
      required:
        - name
        - entity_type
        - sanctions_listed
      properties:
        entity_type:
          $ref: '#/components/schemas/EntityType'
          description: Normalized entity type.
        jurisdiction:
          type:
            - string
            - 'null'
          description: ISO-3166 alpha-2 country the entity is associated with, when known.
        name:
          type: string
          description: Entity name as attributed by the provider.
        sanctions_listed:
          type: boolean
          description: Whether the entity appears on a sanctions list.
    ScreeningCacheProvenance:
      type: object
      description: >-
        Where a cache-served screening came from, and how old it was when
        served.
      required:
        - provider_captured_at
        - age_seconds
        - source_screening_id
      properties:
        age_seconds:
          type: integer
          format: int64
          description: Age of the answer when it was served, in seconds.
          minimum: 0
        provider_captured_at:
          type: string
          description: RFC 3339 time the provider originally produced the answer.
        source_screening_id:
          type: string
          description: Screening record the answer was first persisted under.
    EvidenceRef:
      type: object
      description: >-
        Reference to retained evidence without embedding raw evidence in
        decisions.
      required:
        - id
        - kind
        - location
        - retention_policy
      properties:
        id:
          type: string
          description: Internal evidence identifier.
        kind:
          $ref: '#/components/schemas/EvidenceKind'
          description: Evidence type.
        location:
          type: string
          description: Storage URI or provider-specific object key.
        retention_policy:
          type: string
          description: Retention policy identifier applied to this evidence.
    RiskExposure:
      type: object
      description: >-
        One normalized risk relationship between an address or transaction and a

        taxonomy category.


        Every provider-limited field is optional: an exposure that only carries
        a

        category and a relationship is still usable, and a missing percentage is

        never treated as zero.
      required:
        - category
        - relationship
        - source_provider
      properties:
        amount_exposure:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/Amount'
              description: Absolute value exposed, when the provider quantifies it.
        attributed_entity:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/AttributedEntity'
              description: Entity the exposure is attributed to.
        category:
          $ref: '#/components/schemas/BlockchainRiskCategory'
          description: Normalized category.
        confidence:
          type:
            - number
            - 'null'
          format: float
          description: Provider confidence between 0 and 1.
        hop_distance:
          type:
            - integer
            - 'null'
          format: int32
          description: Hops between the screened address and the attributed one.
          minimum: 0
        observed_at:
          type:
            - string
            - 'null'
          description: RFC 3339 time the provider observed the exposure.
        percentage_exposure:
          type:
            - number
            - 'null'
          format: float
          description: Share of screened value exposed, as a percentage between 0 and 100.
        relationship:
          $ref: '#/components/schemas/ExposureRelationship'
          description: Direct or indirect relationship.
        source_provider:
          type: string
          description: Provider that reported the exposure.
    JurisdictionRisk:
      type: object
      description: A jurisdiction's listing status and where it came from.
      required:
        - country_code
        - listing
        - source
      properties:
        country_code:
          type: string
          description: ISO-3166 alpha-2 country code, normalized to upper case.
        listed_at:
          type:
            - string
            - 'null'
          description: RFC 3339 date the jurisdiction was listed, when known.
        listing:
          $ref: '#/components/schemas/FatfListing'
          description: Listing status.
        notes:
          type:
            - string
            - 'null'
          description: Operator notes kept for reviewers.
        source:
          type: string
          description: Where the listing was loaded from.
    ProviderMetadata:
      type: object
      description: Which provider produced a screening, and which data version it used.
      required:
        - provider
        - screened_at
      properties:
        data_version:
          type:
            - string
            - 'null'
          description: Provider data or model version, when the provider exposes one.
        provider:
          type: string
          description: Provider name.
        screened_at:
          type: string
          description: RFC 3339 time the screening was performed.
    RiskLevel:
      type: string
      description: Explainable risk level.
      enum:
        - LOW
        - MEDIUM
        - HIGH
        - CRITICAL
    SanctionsEvidence:
      type: object
      description: The list version behind one finding, carried into the audit trail.
      required:
        - list_id
        - version
        - published_at
        - retrieved_at
        - source_url
        - digest
      properties:
        digest:
          type: string
          description: Digest of the retrieved content.
        list_id:
          type: string
          description: List identifier.
        published_at:
          type: string
          description: RFC 3339 publication time.
        retrieved_at:
          type: string
          description: RFC 3339 retrieval time.
        source_url:
          type: string
          description: Where it came from.
        version:
          type: string
          description: Publisher's version.
    SanctionsSignal:
      type: object
      description: A normalized sanctions screening signal.
      required:
        - subject
        - match_kind
        - program
        - matched_value
        - source_provider
      properties:
        confidence:
          type:
            - number
            - 'null'
          format: float
          description: Provider confidence between 0 and 1.
        hop_distance:
          type:
            - integer
            - 'null'
          format: int32
          description: Hops to the listed address, for exposure matches.
          minimum: 0
        match_kind:
          $ref: '#/components/schemas/SanctionsMatchKind'
          description: How the subject matched.
        matched_entity:
          type:
            - string
            - 'null'
          description: Listed entity the match resolved to, when the provider names one.
        matched_value:
          type: string
          description: The value that matched, for example an address or a name.
        observed_at:
          type:
            - string
            - 'null'
          description: RFC 3339 time the provider observed the match.
        program:
          $ref: '#/components/schemas/SanctionsProgram'
          description: List the match came from.
        source_provider:
          type: string
          description: Provider that reported the match.
        subject:
          $ref: '#/components/schemas/SanctionsSubject'
          description: Subject the signal is about.
    EntityType:
      type: string
      description: Normalized entity type behind an attribution.
      enum:
        - EXCHANGE
        - MIXER
        - DARKNET_MARKET
        - GAMBLING_SERVICE
        - MERCHANT
        - MINING_POOL
        - DEFI_PROTOCOL
        - SCAM
        - RANSOMWARE
        - UNKNOWN
    EvidenceKind:
      type: string
      description: Kind of evidence captured for a decision or case.
      enum:
        - IMAGE
        - VIDEO
        - TEXT
        - DOCUMENT
        - METADATA
    Amount:
      type: object
      description: An exact decimal value held as base units at a fixed scale.
      required:
        - base_units
        - decimals
      properties:
        base_units:
          type: integer
          description: Indivisible units, for example wei or minor currency units.
          minimum: 0
        decimals:
          type: integer
          format: int32
          description: Number of decimal places the base units are expressed in.
          minimum: 0
    BlockchainRiskCategory:
      type: string
      description: Normalized blockchain risk category.
      enum:
        - SANCTIONS
        - MIXER
        - STOLEN_FUNDS
        - SCAM
        - FRAUD
        - RANSOMWARE
        - DARKNET
        - TERRORIST_FINANCING
        - CHILD_EXPLOITATION
        - ILLICIT_SERVICE
        - HIGH_RISK_EXCHANGE
        - UNLICENSED_EXCHANGE
        - GAMBLING
        - HIGH_RISK_JURISDICTION
        - UNKNOWN_HIGH_RISK
    ExposureRelationship:
      type: string
      description: >-
        Whether a risk relationship is immediate or reached through
        intermediaries.
      enum:
        - DIRECT
        - INDIRECT
    FatfListing:
      type: string
      description: FATF listing status for a jurisdiction.
      enum:
        - CALL_FOR_ACTION
        - INCREASED_MONITORING
        - OTHER_HIGH_RISK
    SanctionsMatchKind:
      type: string
      description: How the subject matched the list.
      enum:
        - LISTED_ADDRESS
        - ADDRESS_EXPOSURE
        - NETWORK_AMBIGUOUS_ADDRESS
        - ENTITY_NAME_MATCH
        - JURISDICTION_MATCH
    SanctionsProgram:
      type: object
      description: A specific sanctions list or program.
      required:
        - authority
        - list_name
      properties:
        authority:
          $ref: '#/components/schemas/SanctionsAuthority'
          description: Publishing authority.
        list_name:
          type: string
          description: List the match came from, for example `SDN`.
        program_code:
          type:
            - string
            - 'null'
          description: Program code within the list, when the provider supplies one.
    SanctionsSubject:
      type: object
      description: The subject a sanctions signal is about.
      required:
        - kind
        - id
      properties:
        id:
          type: string
          description: Identifier of the subject.
        kind:
          $ref: '#/components/schemas/SanctionsSubjectKind'
          description: Subject kind.
    SanctionsAuthority:
      oneOf:
        - type: string
          description: US Office of Foreign Assets Control.
          enum:
            - OFAC
        - type: string
          description: United Nations Security Council.
          enum:
            - UN
        - type: string
          description: European Union.
          enum:
            - EU
        - type: string
          description: UK HM Treasury.
          enum:
            - UK_HMT
        - type: object
          description: An authority Sentinel does not name explicitly yet.
          required:
            - OTHER
          properties:
            OTHER:
              type: string
              description: An authority Sentinel does not name explicitly yet.
      description: Authority that publishes a sanctions list.
    SanctionsSubjectKind:
      type: string
      description: What kind of subject a sanctions signal is about.
      enum:
        - IDENTITY
        - WALLET_ADDRESS
        - TRANSACTION
  securitySchemes:
    api_key:
      type: http
      scheme: bearer
      description: >-
        A tenant API key. Acts for exactly one tenant and cannot conclude a
        case, because a conclusion records a person.
    session_cookie:
      type: apiKey
      in: cookie
      name: esectra_session
      description: >-
        A signed-in reviewer's session. httpOnly and SameSite=Lax; set by `POST
        /v1/control/sessions` and only usable once the second factor is met.

````