Skip to main content

Sub-Phase 1.1: Ethos Repository

Fetch social credibility from Ethos API without interpretation.

Objective

  • Use POST /api/v2/users/by/address
  • Wallet-first only
  • Approved Phase 0 fields only
  • FORBIDDEN: influenceFactor, XP, percentile, ranking

Exit Criteria

  • Returns available | not_found | error (never throws)
  • Maps only Phase 0 approved fields
  • No extra fields exposed
  • Configuration injected (no hardcoded URLs or headers)
  • Uses null for unknown meta values

API Reference

Endpoint: POST https://api.ethos.network/api/v2/users/by/address

Request:

{
"addresses": ["0xabc..."]
}

Required Headers:

  • X-Ethos-Client: Application identifier
  • Content-Type: application/json

Field Mapping

Phase 0 FieldEthos API FieldNotes
data.scorescoreDirect mapping
data.vouchesReceivedstats.vouch.received.countDirect mapping
data.reviews.positivestats.review.received.positiveDirect mapping
data.reviews.neutralstats.review.received.neutralDirect mapping
data.reviews.negativestats.review.received.negativeDirect mapping
signals.hasNegativeReviewsComputedreviews.negative > 0
signals.hasVouchesComputedvouchesReceived > 0
meta.lastUpdatedAtnullAPI doesn't provide
meta.firstSeenAtnullAPI doesn't provide
meta.activeSinceDaysnullCannot compute

FORBIDDEN Fields

  • influenceFactor
  • influenceFactorPercentile
  • xpTotal
  • xpStreakDays
  • xpRemovedDueToAbuse

Meta Timestamps Decision

The Ethos API response does not include timestamp fields.

Resolution: Use null for all unknown values. Per Phase 0: Explicit absence over fabricated defaults.

Exit Checklist

  • Repository compiles without errors
  • Returns available | not_found | error (never throws)
  • Maps only Phase 0 approved fields
  • No influenceFactor, XP, percentile, or ranking exposed
  • Configuration injected via EthosConfig
  • Uses null for unknown meta fields
  • No business logic in repository