Aller au contenu

Développeurs

Signature & flux

Les quelques opérations de l'API Ora que votre propre wallet signe, et comment lire les flux de données en direct.

La plupart des actions on-chain s'exécutent entièrement côté Ora, avec les wallets qu'Ora gère pour votre token : lancements, achats, ventes, nukes, burns, locks, stratégies et réclamations de récompenses. Pour celles-ci, votre script ne touche jamais à une clé privée.

Quelques opérations déplacent de l'argent depuis votre propre wallet, et renvoient donc des transactions que ce wallet doit signer :

Opération Construire Ensuite
Financer un lancement POST /engine/fund Signez, envoyez, puis POST /engine/fund/confirm
Annuler un lancement POST /engine/cancel POST /engine/cancel/submit avec les transactions signées
Collecter le produit POST /engine/collect POST /engine/collect/submit avec les transactions signées
Acheter des aged wallets POST /portfolio/marketplace/quote POST /portfolio/marketplace/buy avec les dépôts signés

Pour les exécuter sans interface, votre script a besoin de la clé de ce wallet. Avec le wallet intégré créé à votre inscription, signez-les plutôt dans l'app.

Les données en direct arrivent sous forme de Server-Sent Events. L'EventSource des navigateurs ne peut pas envoyer d'en-têtes, lisez donc les flux avec fetch, depuis votre serveur, votre script ou votre extension :

stream.mjs
const res = await fetch(`https://api.useora.xyz/engine/tokens/${mint}/stream`, {
headers: { Authorization: `Bearer ${process.env.ORA_API_KEY}`, Accept: 'text/event-stream' },
});
const reader = res.body.pipeThrough(new TextDecoderStream()).getReader();
let buf = '';
for (;;) {
const { value, done } = await reader.read();
if (done) break; // reconnect with backoff
buf += value;
for (let i; (i = buf.indexOf('\n\n')) >= 0; buf = buf.slice(i + 2)) {
const frame = buf.slice(0, i); // "event: …" and "data: {…}" lines
console.log(frame);
}
}

Chaque flux ouvert compte pour une requête dans votre limite de débit.

Flux Contenu
/engine/tokens/{mint}/stream Un token sur une seule connexion : un snapshot puis les événements d'état, trades_snapshot puis chaque trade, les wallets connus qui détiennent le token, et les stats des holders.
/user/tracked-wallets/trades/stream Les trades en direct des wallets que vous suivez.
/sol-usd/events Prix SOL/USD.
/blockhash/events Dernier blockhash et hauteur de bloc, environ toutes les 220 ms.
/jito/tip-lamports/events Percentiles du tip floor Jito.
/jito/tip-accounts/events Liste des comptes de tip Jito.