Destinations et villes
Pour les paires en espèces, la ville devient partie intégrante du couple et le code TXT afin que le tarif ne se mélange pas avec d'autres villes.
iEXRates collecte les offres BestChange, calcule les tarifs finaux selon vos règles, surveille les concurrents, publie les fichiers TXT et montre à l'opérateur pourquoi le cours s'est déroulé ainsi.
Le module a été créé pour les services d’échange pour lesquels il est important non seulement de recevoir le taux de BestChange, mais aussi de gérer la position, la marge, les commissions, les villes, les exceptions, les formules et la vitesse de mise à jour dans un grand nombre de paires.
top 1, top 2, top 3 et concurrents spécifiques
tags, commissions, étapes, arrondis et aperçu
fichier séparé pour chaque profil
mise à jour rapide de grandes listes
Idée principale
L'administrateur définit le profil, les paires et les règles. Ensuite, le système lui-même met à jour les répertoires, vérifie les paires disponibles, reçoit des offres, applique des formules, protège la position et prépare les fichiers de sortie pour le site Web du service d’échange.
Pour les paires en espèces, la ville devient partie intégrante du couple et le code TXT afin que le tarif ne se mélange pas avec d'autres villes.
Vous pouvez prendre en compte les réserves, les limites, les marques d'service d’échange, la liste noire, votre service d’échange et les valeurs nulles.
Le système peut se concentrer sur un concurrent spécifique et s’élever automatiquement au-dessus ou en dessous de lui.
Ce qui est inclus
Exemple de travail
Une fois les règles définies, iEXRates reçoit lui-même le marché, sélectionne la bonne offre, applique la protection et publie le tarif final.
Par exemple, BTC pour encaisser RUB, avec la ville obligatoire de Moscou.
Position n°2, être supérieur au service d’échange sélectionné ou prendre la moyenne du top 10.
Filtres, réserve, limites, liste noire, commission, arrondi et protection contre les sauts brusques.
Le code terminé du formulaire BTC-CASHRUB_MSK entre dans le fichier de profil et est disponible sur le site.
Formules
La formule affiche les balises disponibles, explique chaque étape du calcul et vous permet de vérifier le résultat avant de l'enregistrer. Ceci est pratique lorsque le cours doit prendre en compte non pas une position, mais plusieurs conditions à la fois.
exemple de règle
[pos:3]
+ step_to_competitor
− 0.15%Surveillance et commissions
Pour chaque paire, vous pouvez sélectionner un service d’échange de référence, le mode « se tenir plus haut » ou « se tenir en dessous », le pas minimum, la limite de modification, la commission et le repli si le concurrent souhaité a disparu des résultats de recherche.
exemple de règle
La paire peut être axée non seulement sur la position, mais également sur un service d’échange spécifique de l'émission BestChange.
Vous pouvez ajuster le tarif afin qu'il soit toujours légèrement supérieur au concurrent sélectionné ou nettement inférieur à celui-ci.
La limite de changement et l'anti-saut empêchent le taux de fluctuer brusquement en raison d'une offre accidentelle ou d'une erreur temporaire du marché.
Pour le taux, vous pouvez définir +1, -1, +1%, -1%, /5, /5% ou votre propre formule pour prendre immédiatement en compte la marge et les dépenses.
Les règles peuvent prendre en compte les positions, les réserves, les limites, les tags d'échange, les villes et les listes noires.
Trace montre quelle offre a été sélectionnée, quelle étape a été appliquée, où la commission a fonctionné et pourquoi le résultat s'est retrouvé dans TXT.
Analytique
Le centre d'opérations affiche la vitesse de mise à jour, la fraîcheur de TXT, l'état des files d'attente, les erreurs de API, l'historique des calculs et la qualité de chaque paire.
Affiche la durée de la mise à jour, le nombre de paires réussies, les paires non mises à jour et la vitesse par seconde.
Vous pouvez visualiser le tarif final, le tarif brut, la position, l'écart entre les places et le comportement des concurrents.
Le problème est présenté comme une carte claire : où il est tombé, qu'est-il arrivé à la clé, à l'URL, à la paire et à TXT.
La connexion par clé, les groupes de droits, les utilisateurs et le journal d'activité aident l'équipe à travailler en toute sécurité.
Noyau rapide
Le noyau Go divise le travail en étapes : ouvrages de référence, vérification des itinéraires, réception des offres, calculs, protection de position et génération de fichiers. This reduces latency and allows the system to scale to thousands of pairs.
dictionary.sync
Les devises, villes, services d’échange et tags sont mis à jour sur le serveur et utilisés à partir du stockage local.
presence.scan
Le système peut d'abord vérifier quelles paires existent réellement, afin de ne pas charger de cours supplémentaires.
rates.fetch
Le pool d'URL/de clés, les limites, les rediffusions, le cache d'instantanés et la solution de secours aident à résister à l'instabilité de API.
rates.calculate
Les formules, positions, commissions, étapes et restrictions sont rassemblées dans un cours final clair.
guard.apply
La position cible, le concurrent, le pas minimum et le changement acceptable sont vérifiés.
txt.generate
TXT n'est reconstruit que lorsque des modifications surviennent, la publication reste donc rapide.
Sources supplémentaires
Pour les cours Binance, Bybit, WhiteBIT, Heleket, fichiers et manuels, des profils séparés, des codes propres, des commissions, des fichiers TXT et une pagination du serveur sont fournis.
[binance_usdt-btc][bybit_usdt-btc][whitebit_usdt-btc][heleket_usdt-btc][manual_usdt-btc]cours direct, inverse 1/cours ou commission personnalisée
Ressources utiles
Des instructions et de l’aide pour configurer votre produit.
Sous le capot
iEXRates est divisé en un panneau d'administration, API et un noyau Go séparé. Le panneau d'administration n'accède pas directement à BestChange : il fonctionne avec des données prêtes à l'emploi de PostgreSQL, Redis et des journaux, et le pipeline du serveur effectue des mises à jour de cours.
Frontend
React/Vite SPA avec i18n, TanStack Query, tables backend, listes virtuelles et partitions opérationnelles en direct.
cache de requêtes, mises à jour sans redémarrage et fonctionnement stable des écrans
pagination, filtres et listes virtuelles pour des milliers de messages
assemblage rapide et interface d'administration adaptative
typage strict des formulaires, contrats API et état de l'interface
Backend
NestJS 11 combine l'administrateur API, le public API, les paramètres de profil, les droits d'accès, scheduler, la file d'attente des tâches et les événements pour le panneau d'administration.
API unique pour les profils, les paires, les journaux, l'accès et les sources
base de base, modèles stricts et migrations de schémas
cache chaud, état en direct, verrous et instantanés rapides
journaux rapides, historique des mises à jour et analyses des événements
Infra
iEXRates est déployé en tant que produit serveur distinct : Go core, Docker Compose, Nginx, PostgreSQL, Redis, ClickHouse et distribution publique des fichiers TXT.
Pool worker, mises à jour par lots, limite de débit et génération de fichiers atomiques
lancement unique du panneau d'administration, API, moteur, PostgreSQL, Redis, ClickHouse et Nginx
proxy API et distribution publique des fichiers TXT
base recommandée pour une installation sur un serveur
Prêt pour service d’échange
La connexion est personnalisée pour votre service d’échange : profils, clés API, miroirs, paires, formules, stratégie de position, fichiers TXT, sources supplémentaires et analyses de mise à jour.
Le projet se connecte à la licence actuelle iEXExchanger et fonctionne comme un module supplémentaire à la plateforme principale.