POST /preference
Allows users to set their preferred profile source through cryptographic signature verification. The signature must be valid and the timestamp must be within 10 minutes of the current time.

Request Body required

application/json
key string REQUIRED
Ethereum wallet address (will be normalized to lowercase)
preferredType string REQUIRED
Preferred profile source type
Enum: ensdata, basement, b3-ens, thirdweb-farcaster, thirdweb-lens, global-account
signature string REQUIRED
EIP-191 signature of the preference message
signer string REQUIRED
Address that signed the message (must match key)
timestamp integer (int64) REQUIRED
Unix timestamp in seconds (must be within 10 minutes of current time)

Responses

200 Preference set successfully
application/json
success boolean
400 Bad Request - Invalid signature, timestamp, or authorization
curl -X POST 'https://profiles.b3.fun/preference' \
  -H 'Content-Type: application/json' \
  -d '{
  "key": "string",
  "preferredType": "ensdata",
  "signature": "string",
  "signer": "string",
  "timestamp": 0
}'
const response = await fetch('https://profiles.b3.fun/preference', {
  method: 'POST',
  headers: {
      "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "key": "string",
    "preferredType": "ensdata",
    "signature": "string",
    "signer": "string",
    "timestamp": 0
  })
});

const data = await response.json();
console.log(data);
import requests

response = requests.post('https://profiles.b3.fun/preference', json={
  "key": "string",
  "preferredType": "ensdata",
  "signature": "string",
  "signer": "string",
  "timestamp": 0
})
print(response.json())
200 Response
{
  "success": true
}
POST /preference
Ask a question... ⌘I