Données d'entreprise françaises (API recherche-entreprises), facturées à la requête.
0x7b97a455d33a5e7b8644a5a0e0382ad9f50ed5bb, puis rappelez l'endpoint avec X-PAYMENT-TX: 0x<txhash>. Aucune clé privée n'est détenue par ce serveur.| Endpoint | https://pay.168-231-106-101.sslip.io/company?q=<siren|nom> |
|---|---|
| Prix | 0.005 USDC par requête |
| Réseau | base (chain id 8453) |
| Actif | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC) |
| Bénéficiaire | 0x7b97a455d33a5e7b8644a5a0e0382ad9f50ed5bb |
| Mode | transfer_proof — encaissement : oui |
Sans paiement, l'endpoint répond 402 Payment Required avec un challenge x402 v1
et un objet paymentOptions décrivant les deux voies ci-dessous.
0x7b97a455d33a5e7b8644a5a0e0382ad9f50ed5bb
(un simple transfer(address,uint256) du contrat USDC).curl -i -H "X-PAYMENT-TX: 0x<64 hexadécimaux>" "https://pay.168-231-106-101.sslip.io/company?q=552100554"
Le serveur lit lui-même le receipt via un RPC public Base (eth_getTransactionReceipt)
et n'accepte que si toutes ces conditions tiennent :
Transfer émis par le contrat USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 ;to == 0x7b97a455d33a5e7b8644a5a0e0382ad9f50ed5bb ;value >= 5000 unités atomiques (6 décimales) ;status == 1 (transaction non reverted) ;txhash n'a jamais été consommé (registre persistant, un txhash = un appel).En cas de refus, la réponse est un 402 avec error parmi
tx_not_found, transfer_not_found, wrong_recipient,
insufficient_amount, receipt_failed, tx_already_used,
malformed_tx_hash, rpc_unavailable, plus un error_detail lisible.
Le client signe une autorisation TransferWithAuthorization
(domain USDC, version 2, chainId 8453,
verifyingContract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) et l'envoie en en-tête X-PAYMENT
(base64 d'un JSON {x402Version, scheme, network, payload}).
Le règlement on-chain est soumis par un settleur. Cette voie est
indisponible sur ce déploiement (aucune clé, aucun facilitateur Base mainnet).
{"x402": {"paid": true, "method": "transfer_proof",
"transaction": "0x…", "payer": "0x…"},
"company": {"siren": "552100554", "nom_complet": "…"}}
GET /health — état, mode, can_settle, settled_count.