> For the complete documentation index, see [llms.txt](https://developers.ethos.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.ethos.network/api-documentation/api-v2/karma.md).

# Karma

Karma: season-based points a user earns for daily contributions, prizes and tips, distinct from XP. Read a user’s ledger and totals, the leaderboard and the latest daily prizes.

## GET /karma/daily-prizes

> Get the latest daily karma prizes

```json
{"openapi":"3.1.0","info":{"title":"Ethos API","version":"v2"},"tags":[{"description":"Karma: season-based points a user earns for daily contributions, prizes and tips, distinct from XP. Read a user’s ledger and totals, the leaderboard and the latest daily prizes.","name":"karma"}],"servers":[{"url":"https://api.ethos.network/api/v2"}],"paths":{"/karma/daily-prizes":{"get":{"operationId":"karma-dailyPrizes","summary":"Get the latest daily karma prizes","tags":["karma"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"day":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"prizes":{"type":"array","items":{"type":"object","properties":{"activity":{"type":"object"},"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"user":{"type":"object","properties":{"id":{"type":"number"},"profileId":{"type":["number","null"]},"displayName":{"type":"string"},"username":{"type":["string","null"]},"avatarUrl":{"type":"string","format":"uri"},"description":{"type":["string","null"]},"score":{"type":"number"},"status":{"type":"string","enum":["ACTIVE","INACTIVE","MERGED"]},"userkeys":{"type":"array","items":{"type":"string"}},"xpTotal":{"type":"number"},"xpStreakDays":{"type":"number"},"xpRemovedDueToAbuse":{"type":"boolean"},"influenceFactor":{"type":"number"},"influenceFactorPercentile":{"type":"number"},"humanVerificationStatus":{"anyOf":[{"type":"string","enum":["REQUESTED","VERIFIED","REVOKED","PENDING"]},{"type":"null"}]},"validatorNftCount":{"type":"number"},"meowMeowsNftCount":{"type":"number"},"links":{"type":"object","properties":{"profile":{"type":"string","format":"uri"},"scoreBreakdown":{"type":"string","format":"uri"}},"required":["profile","scoreBreakdown"],"additionalProperties":false},"stats":{"type":"object","properties":{"holdingsWei":{"anyOf":[{"type":"integer","format":"int64"},{"type":"null"}],"description":"Total WHUF held across the user’s addresses, in wei. Null: never computed, or last recomputed while the user held no addresses — distinct from a computed balance of 0."},"review":{"type":"object","properties":{"received":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false}},"required":["received"],"additionalProperties":false},"vouch":{"type":"object","properties":{"given":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false},"received":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false}},"required":["given","received"],"additionalProperties":false,"description":"@deprecated Native-currency lifetime totals only. Use stats.vouchTotals (per-token). Removed after 2026-10-20."},"vouchTotals":{"minItems":1,"type":"array","items":{"type":"object","properties":{"balance":{"type":"object","properties":{"given":{"type":"integer","format":"int64"},"received":{"type":"integer","format":"int64"}},"required":["given","received"],"additionalProperties":false},"count":{"type":"object","properties":{"given":{"type":"integer","minimum":0,"maximum":9007199254740991},"received":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["given","received"],"additionalProperties":false},"token":{"type":"object","properties":{"address":{"anyOf":[{"type":"string","description":"Ethereum address (0x-prefixed, 20 bytes)"},{"type":"null"}]},"decimals":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string","enum":["eth","whuf"],"description":"Lowercase token identifier"}},"required":["address","decimals","id"],"additionalProperties":false}},"required":["balance","count","token"],"additionalProperties":false}},"whufGuarantee":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string"},"expiresAt":{"type":["string","null"]},"guaranteedWei":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["active","expired"]}},"required":["asOf","expiresAt","guaranteedWei","status"],"additionalProperties":false},{"type":"null"}],"description":"The profile’s WHUF price guarantee, summed across its wallets. Null when the profile holds no guarantee account, whether because the accounting has not reached it yet or because it was not eligible; the price-guarantee endpoint tells those apart. asOf is when the accounting last changed this profile’s coverage — not when it last ran."}},"required":["holdingsWei","review","vouch","vouchTotals","whufGuarantee"],"additionalProperties":false}},"required":["id","profileId","displayName","username","avatarUrl","description","score","status","userkeys","xpTotal","xpStreakDays","xpRemovedDueToAbuse","influenceFactor","influenceFactorPercentile","validatorNftCount","meowMeowsNftCount","links","stats"],"additionalProperties":false},"weightedUpvotes":{"type":"number"}},"required":["activity","amount","rank","user","weightedUpvotes"],"additionalProperties":false}}},"required":["day","prizes"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.INTERNAL_SERVER_ERROR"}}}}}}}},"components":{"schemas":{"error.INTERNAL_SERVER_ERROR":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Internal server error error (500)","description":"The error information"}}}}
```

## GET /karma/leaderboard

> Get the karma leaderboard

```json
{"openapi":"3.1.0","info":{"title":"Ethos API","version":"v2"},"tags":[{"description":"Karma: season-based points a user earns for daily contributions, prizes and tips, distinct from XP. Read a user’s ledger and totals, the leaderboard and the latest daily prizes.","name":"karma"}],"servers":[{"url":"https://api.ethos.network/api/v2"}],"paths":{"/karma/leaderboard":{"get":{"operationId":"karma-leaderboard","summary":"Get the karma leaderboard","tags":["karma"],"parameters":[{"in":"query","name":"currentUserFirst","schema":{"type":["string","boolean"]}},{"in":"query","name":"direction","schema":{"type":"string","enum":["next","prev"]}},{"in":"query","name":"lastSeenUserId","schema":{"type":"integer","exclusiveMinimum":0,"maximum":2147483647}},{"in":"query","name":"lastSeenValue","schema":{"type":"integer","minimum":0,"maximum":2147483647}},{"in":"query","name":"pageSize","schema":{"default":50,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"view","schema":{"default":"season","type":"string","enum":["season","total"]}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"hasNextPage":{"type":"boolean"},"hasPrevPage":{"type":"boolean"},"nextCursor":{"type":"object","properties":{"direction":{"type":"string","const":"next"},"lastSeenUserId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lastSeenValue":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["direction","lastSeenUserId","lastSeenValue"],"additionalProperties":false},"prevCursor":{"type":"object","properties":{"direction":{"type":"string","const":"prev"},"lastSeenUserId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lastSeenValue":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["direction","lastSeenUserId","lastSeenValue"],"additionalProperties":false},"rankRange":{"anyOf":[{"type":"object","properties":{"first":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"last":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["first","last"],"additionalProperties":false},{"type":"null"}]},"values":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"profileId":{"type":["number","null"]},"displayName":{"type":"string"},"username":{"type":["string","null"]},"avatarUrl":{"type":"string","format":"uri"},"description":{"type":["string","null"]},"score":{"type":"number"},"status":{"type":"string","enum":["ACTIVE","INACTIVE","MERGED"]},"userkeys":{"type":"array","items":{"type":"string"}},"xpTotal":{"type":"number"},"xpStreakDays":{"type":"number"},"xpRemovedDueToAbuse":{"type":"boolean"},"influenceFactor":{"type":"number"},"influenceFactorPercentile":{"type":"number"},"humanVerificationStatus":{"anyOf":[{"type":"string","enum":["REQUESTED","VERIFIED","REVOKED","PENDING"]},{"type":"null"}]},"validatorNftCount":{"type":"number"},"meowMeowsNftCount":{"type":"number"},"links":{"type":"object","properties":{"profile":{"type":"string","format":"uri"},"scoreBreakdown":{"type":"string","format":"uri"}},"required":["profile","scoreBreakdown"],"additionalProperties":false},"stats":{"type":"object","properties":{"holdingsWei":{"anyOf":[{"type":"integer","format":"int64"},{"type":"null"}],"description":"Total WHUF held across the user’s addresses, in wei. Null: never computed, or last recomputed while the user held no addresses — distinct from a computed balance of 0."},"review":{"type":"object","properties":{"received":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false}},"required":["received"],"additionalProperties":false},"vouch":{"type":"object","properties":{"given":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false},"received":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false}},"required":["given","received"],"additionalProperties":false,"description":"@deprecated Native-currency lifetime totals only. Use stats.vouchTotals (per-token). Removed after 2026-10-20."},"vouchTotals":{"minItems":1,"type":"array","items":{"type":"object","properties":{"balance":{"type":"object","properties":{"given":{"type":"integer","format":"int64"},"received":{"type":"integer","format":"int64"}},"required":["given","received"],"additionalProperties":false},"count":{"type":"object","properties":{"given":{"type":"integer","minimum":0,"maximum":9007199254740991},"received":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["given","received"],"additionalProperties":false},"token":{"type":"object","properties":{"address":{"anyOf":[{"type":"string","description":"Ethereum address (0x-prefixed, 20 bytes)"},{"type":"null"}]},"decimals":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string","enum":["eth","whuf"],"description":"Lowercase token identifier"}},"required":["address","decimals","id"],"additionalProperties":false}},"required":["balance","count","token"],"additionalProperties":false}},"whufGuarantee":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string"},"expiresAt":{"type":["string","null"]},"guaranteedWei":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["active","expired"]}},"required":["asOf","expiresAt","guaranteedWei","status"],"additionalProperties":false},{"type":"null"}],"description":"The profile’s WHUF price guarantee, summed across its wallets. Null when the profile holds no guarantee account, whether because the accounting has not reached it yet or because it was not eligible; the price-guarantee endpoint tells those apart. asOf is when the accounting last changed this profile’s coverage — not when it last ran."}},"required":["holdingsWei","review","vouch","vouchTotals","whufGuarantee"],"additionalProperties":false},"change24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isSelf":{"type":"boolean"},"karmaSeason":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"karmaTotal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","profileId","displayName","username","avatarUrl","description","score","status","userkeys","xpTotal","xpStreakDays","xpRemovedDueToAbuse","influenceFactor","influenceFactorPercentile","validatorNftCount","meowMeowsNftCount","links","stats","change24h","isSelf","karmaSeason","karmaTotal","rank"],"additionalProperties":false}},"view":{"type":"string","enum":["season","total"]}},"required":["hasNextPage","hasPrevPage","rankRange","values","view"],"additionalProperties":false}}}},"400":{"description":"Invalid input data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.INTERNAL_SERVER_ERROR"}}}}}}}},"components":{"schemas":{"error.BAD_REQUEST":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Invalid input data error (400)","description":"The error information"},"error.NOT_FOUND":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Not found error (404)","description":"The error information"},"error.INTERNAL_SERVER_ERROR":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Internal server error error (500)","description":"The error information"}}}}
```

## GET /karma/ledger/{userkey}

> Get a user’s karma ledger

```json
{"openapi":"3.1.0","info":{"title":"Ethos API","version":"v2"},"tags":[{"description":"Karma: season-based points a user earns for daily contributions, prizes and tips, distinct from XP. Read a user’s ledger and totals, the leaderboard and the latest daily prizes.","name":"karma"}],"servers":[{"url":"https://api.ethos.network/api/v2"}],"paths":{"/karma/ledger/{userkey}":{"get":{"operationId":"karma-ledger","summary":"Get a user’s karma ledger","tags":["karma"],"parameters":[{"in":"path","name":"userkey","schema":{"type":"string"},"required":true},{"in":"query","name":"types","schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["XP_CONVERSION","DAILY_TASK_REWARD","TIP_RECEIVED","DAILY_PRIZE","DAILY_BOUNTY"]}},{"type":"string","enum":["XP_CONVERSION","DAILY_TASK_REWARD","TIP_RECEIVED","DAILY_PRIZE","DAILY_BOUNTY"]}]}},{"in":"query","name":"cursor","schema":{"type":"integer","exclusiveMinimum":0,"maximum":2147483647}},{"in":"query","name":"limit","schema":{"default":50,"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"nextCursor":{"type":["number","null"]},"values":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"},"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"seasonId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reviewId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"type":{"type":"string","const":"DAILY_BOUNTY"}},"required":["amount","createdAt","day","id","seasonId","reviewId","type"],"additionalProperties":false},{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"},"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"seasonId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"activity":{"type":["object","null"]},"rank":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"type":{"type":"string","const":"DAILY_PRIZE"},"weightedUpvotes":{"type":["number","null"]}},"required":["amount","createdAt","day","id","seasonId","activity","rank","type","weightedUpvotes"],"additionalProperties":false},{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"},"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"seasonId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"payout":{"anyOf":[{"type":"object","properties":{"multipliers":{"type":"object","properties":{"credibility":{"type":"number"},"streak":{"type":"number"},"validator":{"default":1,"type":"number"}},"required":["credibility","streak","validator"],"additionalProperties":false},"taskCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["multipliers","taskCount"],"additionalProperties":false},{"type":"null"}]},"type":{"type":"string","const":"DAILY_TASK_REWARD"}},"required":["amount","createdAt","day","id","seasonId","payout","type"],"additionalProperties":false},{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"},"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"seasonId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"activity":{"type":["object","null"]},"sender":{"anyOf":[{"type":"object","properties":{"id":{"type":"number"},"profileId":{"type":["number","null"]},"displayName":{"type":"string"},"username":{"type":["string","null"]},"avatarUrl":{"type":"string","format":"uri"},"description":{"type":["string","null"]},"score":{"type":"number"},"status":{"type":"string","enum":["ACTIVE","INACTIVE","MERGED"]},"userkeys":{"type":"array","items":{"type":"string"}},"xpTotal":{"type":"number"},"xpStreakDays":{"type":"number"},"xpRemovedDueToAbuse":{"type":"boolean"},"influenceFactor":{"type":"number"},"influenceFactorPercentile":{"type":"number"},"humanVerificationStatus":{"anyOf":[{"type":"string","enum":["REQUESTED","VERIFIED","REVOKED","PENDING"]},{"type":"null"}]},"validatorNftCount":{"type":"number"},"meowMeowsNftCount":{"type":"number"},"links":{"type":"object","properties":{"profile":{"type":"string","format":"uri"},"scoreBreakdown":{"type":"string","format":"uri"}},"required":["profile","scoreBreakdown"],"additionalProperties":false},"stats":{"type":"object","properties":{"holdingsWei":{"anyOf":[{"type":"integer","format":"int64"},{"type":"null"}],"description":"Total WHUF held across the user’s addresses, in wei. Null: never computed, or last recomputed while the user held no addresses — distinct from a computed balance of 0."},"review":{"type":"object","properties":{"received":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false}},"required":["received"],"additionalProperties":false},"vouch":{"type":"object","properties":{"given":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false},"received":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false}},"required":["given","received"],"additionalProperties":false,"description":"@deprecated Native-currency lifetime totals only. Use stats.vouchTotals (per-token). Removed after 2026-10-20."},"vouchTotals":{"minItems":1,"type":"array","items":{"type":"object","properties":{"balance":{"type":"object","properties":{"given":{"type":"integer","format":"int64"},"received":{"type":"integer","format":"int64"}},"required":["given","received"],"additionalProperties":false},"count":{"type":"object","properties":{"given":{"type":"integer","minimum":0,"maximum":9007199254740991},"received":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["given","received"],"additionalProperties":false},"token":{"type":"object","properties":{"address":{"anyOf":[{"type":"string","description":"Ethereum address (0x-prefixed, 20 bytes)"},{"type":"null"}]},"decimals":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string","enum":["eth","whuf"],"description":"Lowercase token identifier"}},"required":["address","decimals","id"],"additionalProperties":false}},"required":["balance","count","token"],"additionalProperties":false}},"whufGuarantee":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string"},"expiresAt":{"type":["string","null"]},"guaranteedWei":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["active","expired"]}},"required":["asOf","expiresAt","guaranteedWei","status"],"additionalProperties":false},{"type":"null"}],"description":"The profile’s WHUF price guarantee, summed across its wallets. Null when the profile holds no guarantee account, whether because the accounting has not reached it yet or because it was not eligible; the price-guarantee endpoint tells those apart. asOf is when the accounting last changed this profile’s coverage — not when it last ran."}},"required":["holdingsWei","review","vouch","vouchTotals","whufGuarantee"],"additionalProperties":false}},"required":["id","profileId","displayName","username","avatarUrl","description","score","status","userkeys","xpTotal","xpStreakDays","xpRemovedDueToAbuse","influenceFactor","influenceFactorPercentile","validatorNftCount","meowMeowsNftCount","links","stats"],"additionalProperties":false},{"type":"null"}]},"type":{"type":"string","const":"TIP_RECEIVED"}},"required":["amount","createdAt","day","id","seasonId","activity","sender","type"],"additionalProperties":false},{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"},"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"seasonId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","const":"XP_CONVERSION"}},"required":["amount","createdAt","day","id","seasonId","type"],"additionalProperties":false}],"type":"object"}}},"required":["nextCursor","values"],"additionalProperties":false}}}},"400":{"description":"Invalid input data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.INTERNAL_SERVER_ERROR"}}}}}}}},"components":{"schemas":{"error.BAD_REQUEST":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Invalid input data error (400)","description":"The error information"},"error.NOT_FOUND":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Not found error (404)","description":"The error information"},"error.INTERNAL_SERVER_ERROR":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Internal server error error (500)","description":"The error information"}}}}
```

## GET /karma/me

> Get the authenticated user’s karma

```json
{"openapi":"3.1.0","info":{"title":"Ethos API","version":"v2"},"tags":[{"description":"Karma: season-based points a user earns for daily contributions, prizes and tips, distinct from XP. Read a user’s ledger and totals, the leaderboard and the latest daily prizes.","name":"karma"}],"servers":[{"url":"https://api.ethos.network/api/v2"}],"security":[{"ApiKey":[]},{"Authorization":[]}],"components":{"securitySchemes":{"ApiKey":{"in":"header","name":"X-Ethos-Api-Key","type":"apiKey"},"Authorization":{"scheme":"bearer","type":"http"}},"schemas":{"error.UNAUTHORIZED":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Authorization not provided error (401)","description":"The error information"},"error.FORBIDDEN":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Insufficient access error (403)","description":"The error information"},"error.INTERNAL_SERVER_ERROR":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Internal server error error (500)","description":"The error information"}}},"paths":{"/karma/me":{"get":{"operationId":"karma-me","summary":"Get the authenticated user’s karma","tags":["karma"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dailyTaskReward":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The daily task reward at the current multipliers, whether or not the user can earn yet."},"eligibility":{"type":"object","properties":{"canEarn":{"type":"boolean"},"humanVerified":{"type":"boolean"}},"required":["canEarn","humanVerified"],"additionalProperties":false},"gapToWinners":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Karma needed to strictly exceed the 1000th season total (an open winning place counts as a total of 0). Ignores human verification and the slash check. Null only when the User has a season rank within the winners."},"karmaSeason":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"karmaTotal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"multipliers":{"type":"object","properties":{"credibility":{"type":"number"},"streak":{"type":"number"},"streakDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"validator":{"type":"number"},"validatorCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["credibility","streak","streakDays","validator","validatorCount"],"additionalProperties":false},"seasonChange24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"seasonRank":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["dailyTaskReward","eligibility","gapToWinners","karmaSeason","karmaTotal","multipliers","seasonChange24h","seasonRank"],"additionalProperties":false}}}},"401":{"description":"Authorization not provided","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"403":{"description":"Insufficient access","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.FORBIDDEN"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.INTERNAL_SERVER_ERROR"}}}}}}}}}
```

## POST /karma/tip

> Tip karma to the author of an activity

```json
{"openapi":"3.1.0","info":{"title":"Ethos API","version":"v2"},"tags":[{"description":"Karma: season-based points a user earns for daily contributions, prizes and tips, distinct from XP. Read a user’s ledger and totals, the leaderboard and the latest daily prizes.","name":"karma"}],"servers":[{"url":"https://api.ethos.network/api/v2"}],"security":[{"ApiKey":[]},{"Authorization":[]}],"components":{"securitySchemes":{"ApiKey":{"in":"header","name":"X-Ethos-Api-Key","type":"apiKey"},"Authorization":{"scheme":"bearer","type":"http"}},"schemas":{"error.BAD_REQUEST":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Invalid input data error (400)","description":"The error information"},"error.UNAUTHORIZED":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Authorization not provided error (401)","description":"The error information"},"error.FORBIDDEN":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Insufficient access error (403)","description":"The error information"},"error.INTERNAL_SERVER_ERROR":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Internal server error error (500)","description":"The error information"}}},"paths":{"/karma/tip":{"post":{"operationId":"karma-tip","summary":"Tip karma to the author of an activity","tags":["karma"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"activityId":{"type":"integer","minimum":0,"maximum":2147483647},"activityType":{"type":"string","enum":["review","vouch","vouch-v2"]}},"required":["activityId","activityType"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"activityTipCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Tips this activity has received, all senders."},"allowanceRemaining":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["activityTipCount","allowanceRemaining"],"additionalProperties":false}}}},"400":{"description":"Invalid input data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"Authorization not provided","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"403":{"description":"Insufficient access","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.FORBIDDEN"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.INTERNAL_SERVER_ERROR"}}}}}}}}}
```

## GET /karma/tips

> List karma tips, newest first

```json
{"openapi":"3.1.0","info":{"title":"Ethos API","version":"v2"},"tags":[{"description":"Karma: season-based points a user earns for daily contributions, prizes and tips, distinct from XP. Read a user’s ledger and totals, the leaderboard and the latest daily prizes.","name":"karma"}],"servers":[{"url":"https://api.ethos.network/api/v2"}],"paths":{"/karma/tips":{"get":{"operationId":"karma-tips","summary":"List karma tips, newest first","tags":["karma"],"parameters":[{"in":"query","name":"activityType","schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["review","vouch","vouch-v2"]}},{"type":"string","enum":["review","vouch","vouch-v2"]}]}},{"in":"query","name":"cursor","schema":{"type":"integer","exclusiveMinimum":0,"maximum":2147483647}},{"in":"query","name":"limit","schema":{"default":50,"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"nextCursor":{"type":["number","null"]},"values":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string"},"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recipient":{"anyOf":[{"type":"object","properties":{"id":{"type":"number"},"profileId":{"type":["number","null"]},"displayName":{"type":"string"},"username":{"type":["string","null"]},"avatarUrl":{"type":"string","format":"uri"},"description":{"type":["string","null"]},"score":{"type":"number"},"status":{"type":"string","enum":["ACTIVE","INACTIVE","MERGED"]},"userkeys":{"type":"array","items":{"type":"string"}},"xpTotal":{"type":"number"},"xpStreakDays":{"type":"number"},"xpRemovedDueToAbuse":{"type":"boolean"},"influenceFactor":{"type":"number"},"influenceFactorPercentile":{"type":"number"},"humanVerificationStatus":{"anyOf":[{"type":"string","enum":["REQUESTED","VERIFIED","REVOKED","PENDING"]},{"type":"null"}]},"validatorNftCount":{"type":"number"},"meowMeowsNftCount":{"type":"number"},"links":{"type":"object","properties":{"profile":{"type":"string","format":"uri"},"scoreBreakdown":{"type":"string","format":"uri"}},"required":["profile","scoreBreakdown"],"additionalProperties":false},"stats":{"type":"object","properties":{"holdingsWei":{"anyOf":[{"type":"integer","format":"int64"},{"type":"null"}],"description":"Total WHUF held across the user’s addresses, in wei. Null: never computed, or last recomputed while the user held no addresses — distinct from a computed balance of 0."},"review":{"type":"object","properties":{"received":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false}},"required":["received"],"additionalProperties":false},"vouch":{"type":"object","properties":{"given":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false},"received":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false}},"required":["given","received"],"additionalProperties":false,"description":"@deprecated Native-currency lifetime totals only. Use stats.vouchTotals (per-token). Removed after 2026-10-20."},"vouchTotals":{"minItems":1,"type":"array","items":{"type":"object","properties":{"balance":{"type":"object","properties":{"given":{"type":"integer","format":"int64"},"received":{"type":"integer","format":"int64"}},"required":["given","received"],"additionalProperties":false},"count":{"type":"object","properties":{"given":{"type":"integer","minimum":0,"maximum":9007199254740991},"received":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["given","received"],"additionalProperties":false},"token":{"type":"object","properties":{"address":{"anyOf":[{"type":"string","description":"Ethereum address (0x-prefixed, 20 bytes)"},{"type":"null"}]},"decimals":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string","enum":["eth","whuf"],"description":"Lowercase token identifier"}},"required":["address","decimals","id"],"additionalProperties":false}},"required":["balance","count","token"],"additionalProperties":false}},"whufGuarantee":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string"},"expiresAt":{"type":["string","null"]},"guaranteedWei":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["active","expired"]}},"required":["asOf","expiresAt","guaranteedWei","status"],"additionalProperties":false},{"type":"null"}],"description":"The profile’s WHUF price guarantee, summed across its wallets. Null when the profile holds no guarantee account, whether because the accounting has not reached it yet or because it was not eligible; the price-guarantee endpoint tells those apart. asOf is when the accounting last changed this profile’s coverage — not when it last ran."}},"required":["holdingsWei","review","vouch","vouchTotals","whufGuarantee"],"additionalProperties":false}},"required":["id","profileId","displayName","username","avatarUrl","description","score","status","userkeys","xpTotal","xpStreakDays","xpRemovedDueToAbuse","influenceFactor","influenceFactorPercentile","validatorNftCount","meowMeowsNftCount","links","stats"],"additionalProperties":false},{"type":"null"}]},"sender":{"anyOf":[{"type":"object","properties":{"id":{"type":"number"},"profileId":{"type":["number","null"]},"displayName":{"type":"string"},"username":{"type":["string","null"]},"avatarUrl":{"type":"string","format":"uri"},"description":{"type":["string","null"]},"score":{"type":"number"},"status":{"type":"string","enum":["ACTIVE","INACTIVE","MERGED"]},"userkeys":{"type":"array","items":{"type":"string"}},"xpTotal":{"type":"number"},"xpStreakDays":{"type":"number"},"xpRemovedDueToAbuse":{"type":"boolean"},"influenceFactor":{"type":"number"},"influenceFactorPercentile":{"type":"number"},"humanVerificationStatus":{"anyOf":[{"type":"string","enum":["REQUESTED","VERIFIED","REVOKED","PENDING"]},{"type":"null"}]},"validatorNftCount":{"type":"number"},"meowMeowsNftCount":{"type":"number"},"links":{"type":"object","properties":{"profile":{"type":"string","format":"uri"},"scoreBreakdown":{"type":"string","format":"uri"}},"required":["profile","scoreBreakdown"],"additionalProperties":false},"stats":{"type":"object","properties":{"holdingsWei":{"anyOf":[{"type":"integer","format":"int64"},{"type":"null"}],"description":"Total WHUF held across the user’s addresses, in wei. Null: never computed, or last recomputed while the user held no addresses — distinct from a computed balance of 0."},"review":{"type":"object","properties":{"received":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false}},"required":["received"],"additionalProperties":false},"vouch":{"type":"object","properties":{"given":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false},"received":{"type":"object","properties":{"amountWeiTotal":{"type":"integer","format":"int64"},"count":{"type":"number"}},"required":["amountWeiTotal","count"],"additionalProperties":false}},"required":["given","received"],"additionalProperties":false,"description":"@deprecated Native-currency lifetime totals only. Use stats.vouchTotals (per-token). Removed after 2026-10-20."},"vouchTotals":{"minItems":1,"type":"array","items":{"type":"object","properties":{"balance":{"type":"object","properties":{"given":{"type":"integer","format":"int64"},"received":{"type":"integer","format":"int64"}},"required":["given","received"],"additionalProperties":false},"count":{"type":"object","properties":{"given":{"type":"integer","minimum":0,"maximum":9007199254740991},"received":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["given","received"],"additionalProperties":false},"token":{"type":"object","properties":{"address":{"anyOf":[{"type":"string","description":"Ethereum address (0x-prefixed, 20 bytes)"},{"type":"null"}]},"decimals":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string","enum":["eth","whuf"],"description":"Lowercase token identifier"}},"required":["address","decimals","id"],"additionalProperties":false}},"required":["balance","count","token"],"additionalProperties":false}},"whufGuarantee":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string"},"expiresAt":{"type":["string","null"]},"guaranteedWei":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["active","expired"]}},"required":["asOf","expiresAt","guaranteedWei","status"],"additionalProperties":false},{"type":"null"}],"description":"The profile’s WHUF price guarantee, summed across its wallets. Null when the profile holds no guarantee account, whether because the accounting has not reached it yet or because it was not eligible; the price-guarantee endpoint tells those apart. asOf is when the accounting last changed this profile’s coverage — not when it last ran."}},"required":["holdingsWei","review","vouch","vouchTotals","whufGuarantee"],"additionalProperties":false}},"required":["id","profileId","displayName","username","avatarUrl","description","score","status","userkeys","xpTotal","xpStreakDays","xpRemovedDueToAbuse","influenceFactor","influenceFactorPercentile","validatorNftCount","meowMeowsNftCount","links","stats"],"additionalProperties":false},{"type":"null"}]},"tippedActivity":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"link":{"type":"string"},"type":{"type":"string","enum":["review","vouch","vouch-v2"]}},"required":["id","link","type"],"additionalProperties":false,"description":"Pass `{ activityType: type, id }` to `POST /activities/bulk` for the full card. A tip on an activity since archived or moderated stays listed, but its card no longer loads."}},"required":["amount","createdAt","id","recipient","sender","tippedActivity"],"additionalProperties":false}}},"required":["nextCursor","values"],"additionalProperties":false}}}},"400":{"description":"Invalid input data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.INTERNAL_SERVER_ERROR"}}}}}}}},"components":{"schemas":{"error.BAD_REQUEST":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Invalid input data error (400)","description":"The error information"},"error.NOT_FOUND":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Not found error (404)","description":"The error information"},"error.INTERNAL_SERVER_ERROR":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Internal server error error (500)","description":"The error information"}}}}
```

## GET /karma/tip-allowance

> Get the authenticated user’s remaining daily karma tip allowance

```json
{"openapi":"3.1.0","info":{"title":"Ethos API","version":"v2"},"tags":[{"description":"Karma: season-based points a user earns for daily contributions, prizes and tips, distinct from XP. Read a user’s ledger and totals, the leaderboard and the latest daily prizes.","name":"karma"}],"servers":[{"url":"https://api.ethos.network/api/v2"}],"security":[{"ApiKey":[]},{"Authorization":[]}],"components":{"securitySchemes":{"ApiKey":{"in":"header","name":"X-Ethos-Api-Key","type":"apiKey"},"Authorization":{"scheme":"bearer","type":"http"}},"schemas":{"error.UNAUTHORIZED":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Authorization not provided error (401)","description":"The error information"},"error.FORBIDDEN":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Insufficient access error (403)","description":"The error information"},"error.INTERNAL_SERVER_ERROR":{"type":"object","properties":{"message":{"type":"string","description":"The error message"},"code":{"type":"string","description":"The error code"},"issues":{"description":"An array of issues that were responsible for the error","type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Internal server error error (500)","description":"The error information"}}},"paths":{"/karma/tip-allowance":{"get":{"operationId":"karma-tipAllowance","summary":"Get the authenticated user’s remaining daily karma tip allowance","tags":["karma"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Karma one tip gives."},"dailyAllowance":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isOpen":{"type":"boolean","description":"Whether the season is live, so tipping is open."},"isPaused":{"type":"boolean","description":"Whether tipping is paused by the kill switch."},"remaining":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"resetsAt":{"type":"string"}},"required":["amount","dailyAllowance","isOpen","isPaused","remaining","resetsAt"],"additionalProperties":false}}}},"401":{"description":"Authorization not provided","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"403":{"description":"Insufficient access","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.FORBIDDEN"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.INTERNAL_SERVER_ERROR"}}}}}}}}}
```
