B3 Profiles API

API Gratuita de Perfiles Sociales

Consulta la referencia de la API de perfiles

Resumen

El servicio B3 Profiles actúa como una API de datos para resolver identidades de usuario descentralizadas a través del ecosistema EVM. Agrega datos de perfil de múltiples fuentes y protocolos, proporcionando a los desarrolladores un único punto de acceso a la API para obtener información completa sobre usuarios y contexto social.

Características Clave

Agregación de Múltiples Fuentes

Combina datos de Basement, ENS, Thirdweb Social y otros proveedores de identidad Web3

Integración de Identidad Social

Obtiene perfiles sociales de ENS, Lens Protocol y redes Farcaster

Caché Inteligente

Utiliza almacenamiento KV de Cloudflare para una caché de datos eficiente con TTL configurable

Preferencias de Usuario

Permite a los usuarios establecer fuentes de perfil preferidas mediante firmas criptográficas

Fuentes de Datos Soportadas

  • ENS (Ethereum Name Service)
  • Lens Protocol
  • Farcaster
  • B3.ID
  • Perfiles de Basement

Puntos de Acceso a la API

Búsqueda de Perfil

Recupera información de perfil agregada para cualquier dirección de billetera o nombre de usuario.
GET https://profiles.b3.fun/?address=0x1234567890abcdef1234567890abcdef12345678
GET https://profiles.b3.fun/?name=vitalik.eth
GET https://profiles.b3.fun/?name=sean.b3.fun

Establecer Preferencias de Perfil

Permite a los usuarios especificar su fuente de perfil preferida a través de firmas criptográficas.
POST /preference

Nombres de Exhibición Personalizados

Permite a los usuarios establecer nombres de exhibición personalizados que sobrescriben todas las demás fuentes.
POST /display-name

Formato de Respuesta

El servicio devuelve un objeto de perfil unificado que combina datos de todas las fuentes:
{
  "name": "vitalik.eth",
  "address": "0x1234567890abcdef1234567890abcdef12345678",
  "avatar": "https://example.com/avatar.jpg",
  "bio": "Cofundador de Ethereum",
  "displayName": "Vitalik Buterin",
  "profiles": [
    {
      "type": "ensdata",
      "address": "0x123...",
      "name": "vitalik.eth",
      "avatar": "https://...",
      "bio": null,
      "displayName": null
    },
    {
      "type": "thirdweb-farcaster",
      "address": "0x123...",
      "name": "vitalik",
      "avatar": "https://...",
      "bio": "Cofundador de Ethereum",
      "displayName": "Vitalik Buterin"
    }
  ]
}

Casos de Uso

Autenticación de Cartera Mejorada

Proporciona un contexto rico sobre los usuarios durante la conexión de la cartera, mostrando su identidad social y reputación Web3 a través de plataformas.

Integración de Juegos Sociales

Muestra perfiles de jugadores completos en juegos, incluyendo nombres ENS, manijas sociales e identidades entre plataformas.

Experiencia de Usuario en DeFi

Mejora las interfaces de comercio mostrando identidades de comerciantes de Lens, Farcaster y ENS en lugar de solo direcciones de carteras.

Gestión de Comunidades

Construye mejores herramientas comunitarias agregando identidades de usuario de múltiples plataformas sociales Web3.

Ejemplo de Uso

Búsqueda Básica de Perfil

// Obtener perfil por dirección
const response = await fetch('https://profiles.b3.fun/?address=0x123...');
const profile = await response.json();

console.log(profile.displayName); // "Vitalik Buterin"
console.log(profile.profiles.length); // Número de fuentes encontradas

Resolución de Nombre ENS

// Obtener perfil por nombre ENS
const response = await fetch('https://profiles.b3.fun/?name=vitalik.eth');
const profile = await response.json();

console.log(profile.address); // Dirección de cartera resuelta
console.log(profile.avatar); // URL del avatar ENS

Establecer Preferencias de Usuario

// Establecer fuente de perfil preferida con firma
const message = `SetProfilePreference:${address}:thirdweb-farcaster:${timestamp}`;
const signature = await wallet.signMessage(message);

await fetch('https://profiles.b3.fun/preference', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    key: address,
    preferredType: 'thirdweb-farcaster',
    signature,
    signer: address,
    timestamp
  })
});

Rendimiento y Caché

  • Duración de la Caché: 1 hora para datos de perfil
  • Datos Frescos: Usa ?fresh=true para omitir la caché
  • CDN Global: Potenciado por la red de borde de Cloudflare
  • Almacenamiento KV: Almacenamiento de clave-valor eficiente para preferencias

Límites de Tasa

El servicio hereda la protección incorporada contra DDoS y la limitación de tasa de Cloudflare. Para aplicaciones de alto volumen, considera implementar caché del lado del cliente o contacta al equipo de B3 para acceso empresarial.

Construir en cadena hecho fácil