Skip to content

cammac-creator/bearingapi

Repository files navigation

BearingAPI

API de cross-référence de roulements industriels avec micropaiements x402 (USDC on Base).

Concept

BearingAPI permet de rechercher les équivalences entre marques de roulements (SKF, FAG, NSK, NTN, Timken, Koyo, ZKL) et d'obtenir les spécifications techniques ISO. L'API est monétisée via le protocole x402 de Coinbase — micropaiements en USDC sur le réseau Base.

Prix :

  • Cross-référence : $0.005 USDC/appel
  • Spécifications techniques : $0.003 USDC/appel
  • Health check : gratuit

Installation

git clone https://github.com/cammac-creator/bearingapi.git
cd bearingapi
npm install
cp .env.example .env
# Éditer .env avec vos paramètres Supabase + wallet

Configuration (.env)

DATABASE_URL=postgresql://postgres:password@db.xxx.supabase.co:5432/postgres
COINBASE_WALLET_ADDRESS=0xVOTRE_ADRESSE_WALLET
X402_NETWORK=eip155:84532
PORT=3000
API_BASE_URL=http://localhost:3000

Base de données

# Pousser le schéma vers Supabase
npm run db:push

# Insérer les données de base (32 roulements × 7 marques × 4 variantes = 896 cross-refs)
npm run db:seed

Démarrage

# Mode développement (hot reload)
npm run dev

# Production
npm run build && npm start

Tester sans payer (mode dev)

Ajouter ?test=true à n'importe quelle requête pour bypasser le paiement x402. Ce mode est désactivé en production (NODE_ENV=production).

# Health (toujours gratuit)
curl http://localhost:3000/health

# Cross-référence en mode test
curl "http://localhost:3000/v1/crossref/6205?test=true"

# Avec filtre de marques
curl "http://localhost:3000/v1/crossref/6205?test=true&brands=SKF,FAG,NSK"

# Spécifications techniques
curl "http://localhost:3000/v1/specs/6205?test=true"

Avec paiement x402

Sans ?test=true, l'API retourne un HTTP 402 avec les instructions de paiement :

curl http://localhost:3000/v1/crossref/6205
# → 402 { x402Version: 2, accepts: [{ scheme: "exact", network: "eip155:84532", ... }] }

Un client compatible x402 (comme @x402/fetch) gère automatiquement le paiement :

import { wrapFetch } from "@x402/fetch";

const x402Fetch = wrapFetch(fetch, wallet);
const response = await x402Fetch("https://bearingapi.example.com/v1/crossref/6205");
const data = await response.json();

MCP Server (pour Claude Desktop, etc.)

BearingAPI expose un serveur MCP avec 2 outils :

  • bearing_crossref — trouver les équivalences entre marques
  • bearing_specs — obtenir les specs techniques

Configuration Claude Desktop

Ajouter dans ~/.claude/claude_desktop_config.json :

{
  "mcpServers": {
    "bearingapi": {
      "command": "npx",
      "args": ["tsx", "/chemin/vers/bearingapi/src/mcp/server.ts"],
      "env": {
        "DATABASE_URL": "postgresql://..."
      }
    }
  }
}

Docker

docker build -t bearingapi .
docker run -p 3000:3000 --env-file .env bearingapi

Stack

  • Hono — framework HTTP léger
  • Drizzle ORM — PostgreSQL type-safe
  • Supabase — base de données hébergée
  • x402 — micropaiements USDC on Base
  • MCP SDK — intégration agents IA

Données

32 références de roulements à billes à gorge profonde (séries 6000, 6200, 6300) avec :

  • Dimensions ISO (normes ISO 15/355)
  • Charges dynamiques et statiques
  • Vitesses limites graisse/huile
  • 7 marques × 4 variantes = 896 cross-références

Licence

MIT

About

API cross-référence roulements industriels avec micropaiements x402 (USDC on Base)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors