cosimomiccol.is Notepad

IT 9 min read

Le macchine si pagano tra loro (io ho fatto 8,07 dollari)

Le macchine si pagano tra loro (io ho fatto 8,07 dollari)

Come quasi tutte, l'idea è arrivata all'una di notte, mentre stavo smontando qualcosa che non era fatto per essere smontato.

Stavo facendo reverse engineering di un terminale di trading. Uno di quegli schermi pieni di grafici e numeri che si muovono davanti ai quali i trader passano la giornata. Quello che rende questo in particolare interessante è che non ti mostra un mercato solo: fonde i feed live di più di venti exchange in un quadro unico di chi compra, chi vende, dove sono ammassati i soldi e chi è appena stato liquidato.

Fare reverse engineering vuol dire capire come funziona una cosa dall'esterno, senza documentazione e senza permesso. In questo caso voleva dire smontare il flusso di dati che passa tra quella piattaforma e il mio browser, compresso in un formato binario deliberatamente sgradevole da leggere, e ricostruirlo pezzo per pezzo fino a ricevere lo stesso feed che riceveva il terminale. Settimane, e di notte, perché è lì che non ti interrompe niente.

Ne è uscito un bot. Poi il bot ha messo su delle regole, poi una memoria, poi la capacità di decidere da solo, e a un certo punto ha smesso di essere uno script ed è diventato un agent. Questa parola gira parecchio, quindi ecco la differenza pratica: uno script fa quello che gli hai detto di fare, un agent capisce cosa fare dopo. Aveva più disciplina di me. Niente acquisti per FOMO, niente revenge trade, solo esecuzione.

Ma il bot non era la parte interessante. Lo era il sottoprodotto.

Ho guardato quello che si era accumulato e ho capito che ero seduto su un dataset. Dieci anni di storico a risoluzione di un minuto, sulle cinque coppie più grosse, dieci exchange ciascuna. Non solo prezzi: volume in acquisto separato da quello in vendita, quanto denaro preso a prestito sta cavalcando ogni mercato, ogni liquidazione forzata, la commissione che i trader si pagano tra loro per tenere aperta una posizione, e quanto è spessa la coda di ordini su ciascun lato del prezzo. Questa è la roba costosa. Non viene pubblicata gratis, perché raccoglierla è la parte difficile, e perché descrive quello che sta succedendo invece di quello che è già successo. In breve, circa 3TB di dati.

E il pensiero che è arrivato dopo non è stato "dovrei fare trading su questi dati". È stato: questi dati hanno un compratore, e il compratore non è una persona.

Il compratore naturale è un altro agent, che fa esattamente quello che faceva il mio. E là fuori ci sono migliaia di persone che fanno girare agent a cui servirebbero. Non un cliente. Migliaia di macchine.

Poi il problema, subito. Come glieli vendo?

Le macchine non possono registrarsi

Tutto su internet è venduto a persone che cliccano. Crei un account, confermi una email, scegli un piano, digiti una carta, aspetti di essere approvato e ricevi una chiave: una lunga stringa di caratteri che dimostra che sei tu, che poi incolli nel tuo software.

Un agent non può fare niente di tutto questo. Cioè, potrebbe, ma non è pratico. Digerisce mille aggiornamenti di prezzo al secondo e non sa compilare un modulo di registrazione. Il collo di bottiglia non è mai stata l'intelligenza. Era l'accesso, e l'accesso è costruito interamente per umani, con le mani.

Serviva un distributore automatico. L'agent si avvicina, vede il prezzo, paga, prende la cosa, se ne va. Nessuno viene presentato a nessuno, nessuno firma niente.

La cosa che mi sono ricordato

Mesi prima avevo visto Coinbase rilasciare una cosa chiamata x402.

Ogni volta che il browser carica una pagina riceve indietro un codice numerico. 404 vuol dire che la pagina non esiste. Quello lo hai visto sicuramente. Ce n'è un altro, 402, che vuol dire Payment Required, ed è lì nel "regolamento" del web dal 1997 con una nota accanto: riservato per usi futuri. Ventinove anni, una stanza vuota dentro casa, mai usata da nessuno.

x402 finalmente la usa. Ed è quasi offensivo per quanto è semplice. Un programma chiede qualcosa. Invece di "eccoti servito" o "non sei autorizzato", la risposta è: 402, costa un centesimo, mandalo qui. Il programma paga, richiede di nuovo allegando la ricevuta, e ottiene quello che aveva chiesto. Nessun account, nessuna chiave, nessun piano, nessun minimo mensile. Il pagamento diventa parte della richiesta, come funziona con un distributore automatico e non come funziona con un abbonamento.

Era la metà che mancava al mio problema. E sopra ci è atterrato un secondo pensiero.

Questa cosa ha la stessa forma di MCP. MCP è lo standard che permette agli assistenti AI di collegarsi a strumenti esterni, e nel momento in cui è comparso sono comparse le directory insieme a lui. Registri, indici, liste di quali strumenti esistono e cosa fanno. Decine. Quel livello è il modo in cui qualsiasi cosa viene trovata.

Quindi dov'era, per x402?

Una lista non è un registro

Sono andato a cercare. C'era qualche tentativo. Uno aveva diciassettemila voci senza niente di verificato. Uno copiava nomi da GitHub. Un altro aveva link che non funzionavano nemmeno. E a ognuno di loro mancava il campo che conta davvero.

Se la cosa è accesa.

Non cosa dice di fare un servizio. Se risponde adesso. Un agent che sta per spendere soldi veri su un servizio ha esattamente una domanda prima di impegnarsi: è vivo, e consegnerà quando pago. Nessuno di loro sapeva rispondere. Erano liste di nomi. Una lista di nomi non è un registro, allo stesso modo in cui un elenco telefonico senza un numero che funziona non è un elenco telefonico.

È lì che mi ha colpito, da solo, alla scrivania, a un'ora in cui non c'era nessuno a cui dirlo. Non è una cosa piccola. Ogni macchina che vuole comprare qualcosa da un'altra macchina deve passare da questo livello, e il livello non esiste ancora.

Ho registrato tre domini quella notte stessa, senza sapere niente di quello che avrei costruito. Il registro dice 22:57 UTC del 3 aprile, che da me è l'una di notte. x402-list.com è quello su cui sono andato avanti.

La parte che ho scoperto dopo

Trentasei ore prima che comprassi quel dominio, la Linux Foundation aveva annunciato che prendeva x402 sotto la sua ala, con ventidue organizzazioni firmatarie al lancio: AWS, Google, Microsoft, Cloudflare, Visa, Mastercard, American Express, Stripe, Shopify, Circle, la Solana Foundation, Polygon Labs e un'altra manciata di nomi grossi della tecnologia.

Per chi non segue queste cose: la Linux Foundation è dove le tubature di internet vanno a diventare ufficiali. È il tipo di annuncio meno eccitante e più consequenziale che ci sia. Quando Visa e Mastercard e AWS mettono il nome sullo stesso pezzo di infrastruttura, quell'infrastruttura non è più un hobby.

Non ne avevo idea. Nessuna. Non stavo seguendo le notizie, stavo seguendo il mio vicolo cieco nel mezzo della notte, e sono atterrato sulla stessa conclusione che le aziende più grandi del pianeta avevano firmato due giorni prima.

Non è stata una gran sensazione, per la verità. Più come alzare lo sguardo e vedere che il sentiero che pensavi di stare aprendo nel bosco è già in programma come autostrada.

Non rivendico lungimiranza. Rivendico presenza. La seconda si può ripetere.

Costruito, e poi lasciato lì

La prima versione era il minimo che potesse essere considerato per i miei standard onesto. Bianco e nero, quasi nessun codice in esecuzione nel browser, velocissimo, diciotto servizi verificati a mano.

Aveva due facce dal primo giorno. Il sito, per le persone. E la stessa informazione in un formato che un programma può leggere senza un umano di mezzo, che è la parte che conta davvero. Il sito era il marketing. La versione leggibile dalle macchine era il prodotto.

Poi l'ho lasciato lì per mesi. È rimasto a controllarsi da solo, in silenzio, mentre lavoravo ad altro.

L'ho ripreso in mano a luglio e non mi sono più fermato.

Cos'è adesso

La directory contiene 440 servizi e 1.941 singole funzioni che si possono pagare, distribuite su cinque blockchain diverse: Base (422 servizi), Solana (160), Polygon (40), Arbitrum (30), Avalanche (4). Fanno 498 pagine sul sito, 447 delle quali esistono solo per descrivere un servizio ciascuna.

La cosa da cui è partito tutto, se un servizio è davvero acceso, è ancora la spina dorsale. Ogni servizio viene chiamato, in loop, circa 1.760 controlli all'ora. Disponibilità media nelle ultime 24 ore: 93,7%. Tempo di risposta medio: 550 millisecondi. Non quello che dichiarano. Quello che abbiamo misurato.

Costruito sopra, quasi tutto a luglio:

  • Un motore di scoring. Sei controlli meccanici più un riassunto scritto prodotto da un modello AI, rieseguiti per ogni servizio ogni sei ore. 17.050 valutazioni dal 13 luglio, su tutti e 440.
  • Rilevamento dei cambiamenti. Ogni volta che chiamiamo un servizio prendiamo un'impronta delle sue condizioni di pagamento. Se un servizio cambia in silenzio il conto su cui incassa, o il prezzo, o il modo in cui si aspetta di essere pagato, quello diventa un evento pubblico con una data sopra. Sostituire il conto di destinazione sotto un cliente che paga è l'unica truffa di cui un agent non può accorgersi da solo, perché non ha niente con cui confrontarla. Noi teniamo le ricevute, quindi diventa visibile.
  • Dati di pagamento veri. Siccome questi pagamenti avvengono su blockchain pubbliche, ognuno lascia una traccia permanente e verificabile che nessuno può modificare e per cui nessuno deve darmi accesso. 22,1 milioni di record di pagamento dal primo gennaio, ricollegati ai servizi che li hanno incassati.
  • Porte costruite per le macchine. Un'interfaccia pubblica che i programmi possono interrogare direttamente, un plug-in che infila l'intera directory dentro gli assistenti AI, un file di testo semplice scritto apposta perché modelli come ChatGPT possano leggere e citare i dati correttamente, un feed, un widget da incorporare, un badge di stato che un servizio può esporre sulla propria pagina, e un archivio datato di ogni snapshot, così chi cita un numero può indicare esattamente quale.

Agent-first qui non è uno slogan, è il traffico. Nella settimana del 20 luglio il sito ha servito 74.977 richieste automatiche da circa 1.200 programmi diversi. Visitatori umani nella stessa settimana: 257.

Il sito esiste perché le persone si aspettano un sito. La cosa che viene usata è il lato leggibile dalle macchine, come pensavo che sarebbe stato.

La curva

La crescita non è stata lineare e non è stata organica nel senso tradizionale del termine. Diciotto servizi al lancio. Accumulo durante maggio e giugno da gente che inviava il proprio. Poi una settimana di luglio in cui ho smesso di aspettare di ricevere invii e ho iniziato a trovare i servizi da solo, verificando ognuno contro il registro pubblico dei pagamenti: 145, poi 194, poi 362, poi 440. 78 nuovi inserimenti negli ultimi sette giorni. 363 negli ultimi trenta.

Il traffico ha fatto lo stesso. Visite mensili da persone: 999 ad aprile, 690 a maggio, 1.823 a giugno, 9.657 finora a luglio. Le richieste automatiche sono passate da qualche migliaio a settimana a giugno a quasi 75.000. Negli ultimi trenta giorni: 271.188 richieste da 4.527 programmi diversi.

Cosa stanno facendo i soldi

Siccome ogni pagamento lascia una traccia pubblica, vedo ben oltre il mio traffico. Totali mensili sui servizi che traccio, e quanti compratori distinti c'erano dietro:

  • Gennaio: 9.390 dollari da 728 compratori
  • Febbraio: 32.253 dollari da 1.614
  • Marzo: 49.361 dollari da 2.164
  • Aprile: 17.452 dollari da 2.252
  • Maggio: 18.914 dollari da 3.036
  • Giugno: 130.545 dollari da 4.350
  • Luglio, ancora in corso: 166.194 dollari da 5.299

La precisazione prima delle conclusioni: parte di quella curva sono io. Più servizi traccio, più soldi diventano visibili. Questo è un pavimento di quello che riesco a vedere, non un censimento dell'intero mercato.

Tre cose nella forma sono vere lo stesso.

Il numero di acquisti cresce molto più in fretta dei soldi. A gennaio il pagamento medio valeva circa 4,3 centesimi. A luglio è circa 1,7. Il prezzo tipico di listino è un centesimo. Questa è l'impronta di macchine che comprano davvero: quantità enormi di acquisti minuscoli, non una manciata di bonifici grossi. Qualunque altra cosa sia incerta, la parte "macchine che si pagano tra loro in frazioni di centesimo" non è più teorica.

I soldi sono concentrati in modo brutale. Negli ultimi trenta giorni i servizi elencati hanno incassato 180.736 dollari in tutto, da 5.578 compratori diversi, e i dieci servizi più grossi hanno fatto il 97,5% del totale. Tutto il resto si divide quello che avanza di un errore di arrotondamento.

La parte difficile è farsi trovare, non costruire. Fare uno di questi servizi ormai è un fine settimana. Far sì che un agent lo trovi, si fidi e paghi è tutto il problema. Un altro operatore pubblica il proprio funnel: più di duemila programmi hanno guardato, novecento hanno iniziato un pagamento, uno l'ha concluso. L'offerta sta correndo molto più avanti di qualsiasi cosa somigli alla domanda.

Il mio numero

Da quando ho acceso le parti a pagamento del sito, x402-list ha incassato 21 pagamenti per un totale di 8,07 dollari. Quattordici commissioni per risottomettere un inserimento, tre suggerimenti a pagamento, tre valutazioni comprate su richiesta, una richiesta a consumo.

Otto dollari e sette centesimi.

Potrei preentarlo meglio. Essere elencati è gratis per scelta, le parti a pagamento sono andate online qualche settimana fa invece che ad aprile, e i prezzi sono deliberatamente minuscoli: cinquanta centesimi, dieci centesimi, un centesimo, venticinque centesimi. Tutto vero, e niente di tutto questo sposta il numero. Se pubblico la cifra che dice che la coda non guadagna niente, la cosa onesta è dire ad alta voce che oggi la coda sono io.

Altri pezzi a pagamento sono in costruzione, e i dati escono già sotto una licenza che obbliga chi li usa a citare la fonte, perché in un mercato così giovane essere citati vale più che essere pagati. Rifammi la domanda dopo il prossimo trimestre.

Quindi perché andare avanti.

Perché tenere questa posizione non mi costa quasi niente, e non si può comprare due volte. Le directory sono a vincitore pesante: tutti convergono su chi risponde più in fretta e mente di meno, e ogni modello, documento o agent che ti cita rende più difficile passare ad un competitor. Il volume è reale, il numero di acquisti sta salendo, e i soldi al momento sono raccolti in cima a un mercato che ha quattro mesi.

Al bot servivano dati. I dati erano chiusi dietro dei moduli di iscrizione. Un protocollo ha tolto i moduli. Qualcuno doveva scrivere cosa c'era dietro, in un formato costruito per le cose che leggono, misurando l'unica cosa che nessun altro stava misurando.

Quella parte l'ho azzeccata all'una di notte, prima di sapere che c'era una Foundation. La fattura può aspettare.