For the complete documentation index, see llms.txt. This page is also available as Markdown.

Wallets

Exchange Privy session for Ethos JWTs

post

Verifies the Privy bearer token and sets Ethos access/refresh JWTs via HttpOnly cookies.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Successful response

application/json
okconst: Required
post/auth/exchange

Logout and clear Ethos JWT cookies

post

Clears Ethos access/refresh cookies and revokes the current refresh token if present. If deviceIdentifier is provided, also removes the FCM push notification token for that device. Safe to call even if not authenticated.

Body
deviceIdentifierstringOptional
Responses
200

Successful response

application/json
okconst: Required
post/auth/logout

Verify authentication for Ethos Everywhere wallet

get

Returns ok when authenticated. If the access token is expired, it will be refreshed using the refresh token.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Successful response

application/json
okbooleanRequired
profileIdnumberRequired
get/wallets/privy/auth-check

Check if wallet has enough funds for transactions

get

Returns whether the Ethos Everywhere wallet has sufficient balance for transactions like reviews, votes, or replies. Also indicates if gas sponsorship is available.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Successful response

application/json
balanceinteger · int64Required
sponsorshipEligiblebooleanRequired
get/wallets/privy/check-funds

Create a review via an Ethos Everywhere wallet

post

Signs and submits a review transaction using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
scorestring · enumRequiredPossible values:
titlestring · min: 1Required
contentstring · min: 1Optional
metadataany ofOptionalDefault: []
or
subjectany ofRequired
or
or
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

reviewSlugstringOptional
post/wallets/privy/post/review

Create a review by address via an Ethos Everywhere wallet

post

Signs and submits a review transaction for a subject address using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
scorestring · enumRequiredPossible values:
titlestring · min: 1Required
contentstring · min: 1Optional
metadataany ofOptionalDefault: []
or
addressstringRequired

Ethereum address (0x-prefixed, 20 bytes)

waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

reviewSlugstringOptional
post/wallets/privy/post/review/by-address

Create a review for x.com account via an Ethos Everywhere wallet

post

Signs and submits a review transaction for an x.com account (id or username) using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
scorestring · enumRequiredPossible values:
titlestring · min: 1Required
contentstring · min: 1Optional
metadataany ofOptionalDefault: []
or
xany ofRequired
or
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

reviewSlugstringOptional
post/wallets/privy/post/review/by-x

Edit a review via an Ethos Everywhere wallet

post

Signs and submits a review edit transaction using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idinteger · max: 2147483647Required
titlestring · min: 1Required
contentstring · min: 1Optional
metadataany ofOptionalDefault: []
or
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

reviewSlugstringOptional
post/wallets/privy/edit/review

Vote on an activity via Ethos Everywhere wallet

post

Submits an upvote or downvote on a review, vouch, attestation, slash, broker post, project, reputation market, or reply using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
activityTypestring · enumRequiredPossible values:
idinteger · max: 2147483647Required
Body
isUpvotebooleanRequired
isArchivebooleanOptional
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

voteobjectOptional
post/wallets/activity/{activityType}/{id}/vote

Reply to an activity via Ethos Everywhere wallet

post

Posts a reply to a review, vouch, attestation, slash, broker post, project, reputation market, or existing reply (use activityType='reply') using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
activityTypestring · enumRequiredPossible values:
idinteger · max: 2147483647Required
Body
contentstring · min: 1Required
metadataany ofOptionalDefault: []
or
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

replyobjectOptional
post/wallets/activity/{activityType}/{id}/reply

Archive a review via Ethos Everywhere wallet

post

Archives a review using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idinteger · max: 2147483647Required
Body
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

reviewobjectOptional
post/wallets/activity/review/{id}/archive

Invite an address via Ethos Everywhere wallet

post

Invites an address to Ethos using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
inviteestringRequired

Ethereum address (0x-prefixed, 20 bytes)

waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the invitation transaction has been received & processed by Ethos.

post/wallets/privy/invite/address

Cancel an invite via Ethos Everywhere wallet

post

Cancels an invitation (uninvites a user) using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
inviteestringRequired

Ethereum address (0x-prefixed, 20 bytes)

waitForUninviteTimeoutSecondsnumberOptional

Timeout in seconds to wait for the uninvite transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the uninvite transaction has been received & processed by Ethos.

post/wallets/privy/invite/cancel

Archive a bond via Ethos Everywhere wallet

post

Archives a bond using the user's Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
bondIdinteger · max: 2147483647Required
Body
archiveReasonstring · min: 1Required
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

post/wallets/activity/bond/{bondId}/archive

Create a bond via Ethos Everywhere wallet

post

Creates a bond using the user's Ethos Everywhere wallet. The signature must be obtained from the signatures.createHumanityBond endpoint first. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
statementstring · min: 1Required
bondTypestring · min: 1Required
expirationstring · min: 1Required
amountstring · min: 1Required
amountTypestring · min: 1Required
metadatastringOptionalDefault: ""
randValueinteger · max: 9007199254740991Required
signaturestringRequired

65-byte ECDSA signature (0x-prefixed hex, 132 chars)

waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the bond transaction has been received & processed by Ethos.

post/wallets/privy/bonds

Vouch for a user via Ethos Everywhere wallet

post

Submits a vouch transaction using the user’s Ethos Everywhere wallet. The user’s EEW wallet must hold sufficient ETH to cover both the stake amount and gas.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
targetany ofRequired
or
or
commentstring · min: 1Required
paymentAmountEthstringRequired
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the vouch transaction has been received & processed by Ethos.

post/wallets/privy/vouches

Increase an existing vouch via Ethos Everywhere wallet

post

Submits an increaseVouch transaction using the user’s Ethos Everywhere wallet. Restricted to vouches whose authorProfileId equals the caller’s profile — the contract permits any address registered to that profile, so the EEW can top up a vouch originally created by a different wallet. The EEW must hold sufficient ETH to cover both the additional stake and gas.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
vouchIdinteger · max: 9007199254740991Required
paymentAmountEthstringRequired
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the increaseVouch transaction has been received & processed by Ethos.

post/wallets/privy/vouches/increase

Unvouch via Ethos Everywhere wallet

post

Submits an unvouch transaction using the user’s Ethos Everywhere wallet. Restricted to vouches whose original authorAddress equals the EEW. The contract refunds balance - exitFee to the original authorAddress (the EEW). When isHealthy=false, dispatches to unvouchUnhealthy (combo unvouch + markUnhealthy).

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
vouchIdinteger · max: 9007199254740991Required
isHealthybooleanRequired
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the unvouch transaction has been received & processed by Ethos.

post/wallets/privy/vouches/unvouch

Buy market votes via Ethos Everywhere wallet

post

Submits a buyVotes transaction on the ReputationMarket contract using the user’s Ethos Everywhere wallet. The user’s EEW wallet must hold sufficient ETH to cover both the buy amount and gas.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
profileIdinteger · max: 2147483647Required
isPositivebooleanRequired
maxVotesToBuyinteger · max: 9007199254740991Required
minVotesToBuyinteger · max: 9007199254740991Required
buyAmountEthstringRequired
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the market buy transaction has been received & processed by Ethos.

post/wallets/privy/markets/buy

Sell market votes via Ethos Everywhere wallet

post

Submits a sellVotes transaction on the ReputationMarket contract using the user’s Ethos Everywhere wallet. The contract sends ETH proceeds back to the seller.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
profileIdinteger · max: 2147483647Required
isPositivebooleanRequired
amountinteger · max: 9007199254740991Required
minimumVotePricestringRequired
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the market sell transaction has been received & processed by Ethos.

post/wallets/privy/markets/sell

Open a position on a v2 market via Ethos Everywhere wallet

post

Submits an openPosition transaction on the EthosMarket contract using the user’s Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
marketOnchainIdinteger · max: 9007199254740991Required
isPositivebooleanRequired
paymentAmountstringRequired
minTokensOutstringRequired
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the v2 market open position transaction has been received & processed by Ethos.

post/wallets/privy/markets-v2/open-position

Close a position on a v2 market via Ethos Everywhere wallet

post

Submits a closePosition transaction on the EthosMarket contract using the user’s Ethos Everywhere wallet. Burns position tokens and returns MMB credits. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
marketOnchainIdinteger · max: 9007199254740991Required
isPositivebooleanRequired
positionTokenAmountstringRequired
minCreditsOutstringRequired
waitForTxTimeoutSecondsnumberOptional

Timeout in seconds to wait for the transaction to be processed by Ethos. Defaults to 5 seconds. Set to 0 to skip waiting.

Default: 5
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

processedbooleanRequired

Whether the v2 market close position transaction has been received & processed by Ethos.

post/wallets/privy/markets-v2/close-position

Send MMB via Ethos Everywhere wallet

post

Submits an MMB transfer using the user Ethos Everywhere wallet. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
recipientstringRequired

Ethereum address (0x-prefixed, 20 bytes)

amountstringRequired
Responses
200

Successful response

application/json
hashstringRequired

0x-prefixed 32-byte transaction hash (keccak256)

post/wallets/privy/mmb/send

Last updated