DocumentationapiMembers API

Members API

Endpoints for managing and querying member profiles.

Get Member Profile

Get a member’s profile by wallet address.

GET /api/members/:address

Parameters

Wallet address (base58 encoded).

Response

{
  "wallet": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
  "fairscore": 78,
  "tier": "gold",
  "activeDays": 45,
  "proposalsSubmitted": 3,
  "proposalsVoted": 12,
  "delegatedPower": 15000,
  "badges": 2,
  "delegateTo": null,
  "firstActivity": "2024-01-15T00:00:00Z",
  "lastActivity": "2024-03-01T12:30:00Z"
}

Register Member

Register a new member profile.

POST /api/members

Request Body

{
  "wallet": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
  "signature": "...",
  "initialScore": 50
}

Response

{
  "success": true,
  "data": {
    "wallet": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
    "fairscore": 50,
    "tier": "silver",
    "activeDays": 1
  }
}

Update Member Score

Update a member’s FairScore.

PATCH /api/members/:address/score

Request Body

{
  "activeDaysScore": 75,
  "socialScore": 80,
  "transactionHistoryScore": 70,
  "governanceParticipationScore": 85
}

Response

{
  "success": true,
  "data": {
    "oldScore": 50,
    "newScore": 78,
    "tier": "gold"
  }
}

Get Member Voting Power

Calculate voting power for a member.

GET /api/members/:address/voting-power

Query Parameters

Token balance for calculation.

Response

{
  "tokenBalance": 10000,
  "fairscore": 78,
  "quadraticBase": 100,
  "reputationMultiplier": 2.56,
  "totalPower": 256
}

Get Member Votes

Get all votes cast by a member.

GET /api/members/:address/votes

Query Parameters

Maximum number of votes to return.

Pagination offset.

Response

{
  "votes": [
    {
      "proposalId": "abc123...",
      "proposalTitle": "Treasury Allocation",
      "vote": "for",
      "votingPower": 256,
      "timestamp": "2024-02-15T10:30:00Z"
    }
  ],
  "total": 12,
  "limit": 20,
  "offset": 0
}