Members API
Endpoints for managing and querying member profiles.
Get Member Profile
Get a member’s profile by wallet address.
GET /api/members/:addressParameters
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/membersRequest 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/scoreRequest 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-powerQuery 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/votesQuery 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
}