affaan-m/ECC · error · AuraUntrusted

trust gate rejected {verdict.did}: {verdict.verdict} — {verd

Error message

trust gate rejected {verdict.did}: {verdict.verdict} — {verdict.reason}

What it means

Error "trust gate rejected {verdict.did}: {verdict.verdict} — {verdict.reason}" thrown in affaan-m/ECC.

Source

Thrown at integrations/aura/adapter.py:209

            settle_payment(counterparty_did, amount)
        except AuraUntrusted as e:
            abort(str(e))

    Explicitly allow brand-new agents in an onboarding flow:
        before_settle(did, allow=("trusted", "caution", "new"))

    fail_open=True makes an *unreachable* AURA pass through (transport failure
    only — a reachable AURA that returns `unknown` is still rejected). Off by
    default — absence of evidence is not evidence of trust.
    """
    v = aura_verdict(did, base_url=base_url, timeout=timeout, _fetch=_fetch)

    if v.verdict in allow:
        return v
    # fail_open only excuses a transport failure, never a reachable `unknown`.
    if fail_open and not v.reachable:
        return v
    raise AuraUntrusted(v)


# Alias — same gate, name that reads better at non-payment call sites.
require_trust = before_settle

View on GitHub (pinned to 01e15490f0)

Solutions

  1. The AURA trust verdict was not in the allow list. Check verdict.reason to see why the DID scored as untrusted and resolve the underlying reputation issue before settling.
  2. If the failure was a transport error and your policy permits it, call before_settle(..., fail_open=True); a reachable 'unknown' verdict is never excused.
  3. Add the expected verdict to the allow list only if your risk policy explicitly accepts it.

Example fix

v = aura_verdict(did)
if not v.reachable:
    before_settle(did, fail_open=True)  # only transport failures may fail open

When it happens

Trigger: Thrown at integrations/aura/adapter.py:209 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of affaan-m/ECC@01e15490f0 (2026-08-13). Data as JSON: /api/errors/be9a4a9cdb640a9d. Report an issue: GitHub.