Cours iEXRates - BestChange sous contrôle

Un système qui maintient les taux de change à côté de la position souhaitée.

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.

Prix
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
100k+
les instructions peuvent être conservées grâce à la pagination du serveur et aux mises à jour par lots
2
BestChange séparément, sources externes séparément - dans un seul panneau d'administration
24/7
statut en direct des mises à jour, des incidents, des journaux et de la fraîcheur TXT
Uniquement pour les clients iEXExchanger

Le projet se connecte à la licence actuelle iEXExchanger et fonctionne comme un module supplémentaire à la plateforme principale.

Démo

Regardez une courte vidéo démontrant le iEXRates

La vidéo montre la logique du panneau d'administration : profils, paires, formules, contrôle de position, fichiers TXT, analyses de mise à jour et écrans de travail de l'opérateur.

Ouvrir la démo dans Telegram
Profils BestChangeformules et commissionsespionner le service d’échangePublication TXT
Idée principale

Il ne s'agit pas d'une grille tarifaire, mais d'un centre de travail de gestion de marché BestChange

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.

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.

Filtres d'offre

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.

Espionner le service d’échange

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

Principales caractéristiques de iEXRates

01 · Profils

Profil BestChange

Paramètres unifiés pour la langue, le type de tarif, l'intervalle, le délai d'attente, la position par défaut, le propre service d’échange et la publication TXT.

Les URL et miroirs API sont courants, avec ping et priorité
les clés sont stockées dans la base de données et gérées depuis le panneau d'administration
chaque profil reçoit un fichier TXT distinct
02 · Itinéraire

Règles de paires et de masse

Les paires peuvent être ajoutées une à la fois ou en masse, regroupées, filtrées, modifiées immédiatement en fonction des conditions sélectionnées.

des groupes de paires sont stockés dans la base de données
chaque onglet demande des données séparément
les opérations groupées fonctionnent à l'aide d'un filtre de serveur
03 · Calcul

Tracez chaque parcours

En détail, vous pouvez voir l'offre de base, la position, le service d’échange, la formule, l'étape, la commission, les restrictions et la valeur finale d'émission.

une explication claire de « comment s'est déroulé le cours »
les offres nulles et incorrectes sont exclues
l’histoire aide à démêler les changements controversés
Formules

Les formules en tant que produit distinct au sein du système

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.

Aperçu de la formule
[pos:3] + step_to_competitor - 0.15%
Position
#3
Concurrent
Service d’échange
Résultat
0.06784261

Stratégies toutes faites

Le meilleur taux, un poste précis, une fourchette de postes, la moyenne de plusieurs places, votre service d’échange ou concurrent.

Formule à la main

Les balises sont insérées à partir des info-bulles et l'aperçu affiche le résultat avant de l'appliquer à la paire.

Limites du résultat

Vous pouvez limiter le saut maximum, la réserve minimum, la position et le comportement s'il n'y a pas de données.

Commissions et amendements

+1, -1, +1%, -1%, division, corrections de formule et règles distinctes pour les sources externes sont prises en charge.

Surveillance et commissions

Le cours peut être suivi par un service d’échange spécifique, au dessus ou en dessous

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
RéférenceService d’échange · #3
Actionse placer un pas au-dessus
Commission-0.15%

Surveillance du service d’échange sélectionné

La paire peut être axée non seulement sur la position, mais également sur un service d’échange spécifique de l'émission BestChange.

Tenez-vous plus haut ou plus bas

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.

Protection anti-surtension

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é.

Commissions et amendements

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.

Filtres par conditions

Les règles peuvent prendre en compte les positions, les réserves, les limites, les tags d'échange, les villes et les listes noires.

Calcul clair

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.

Exemple de travail

Comment le propriétaire fixe la paire

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.

1

Une paire est sélectionnée

Par exemple, BTC pour encaisser RUB, avec la ville obligatoire de Moscou.

2

Un objectif est fixé

Position n°2, être supérieur au service d’échange sélectionné ou prendre la moyenne du top 10.

3

Les règles s'appliquent

Filtres, réserve, limites, liste noire, commission, arrondi et protection contre les sauts brusques.

4

Publié par TXT

Le code terminé du formulaire BTC-CASHRUB_MSK entre dans le fichier de profil et est disponible sur le site.

Noyau rapide

La mise à jour est construite comme un pipeline, et non comme une requête lourde

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

Annuaires

Les devises, villes, services d’échange et tags sont mis à jour sur le serveur et utilisés à partir du stockage local.

presence.scan

Vérification des itinéraires

Le système peut d'abord vérifier quelles paires existent réellement, afin de ne pas charger de cours supplémentaires.

rates.fetch

Recevoir des offres

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

Calcul du cours

Les formules, positions, commissions, étapes et restrictions sont rassemblées dans un cours final clair.

guard.apply

Défendre votre position

La position cible, le concurrent, le pas minimum et le changement acceptable sont vérifiés.

txt.generate

Génération de fichiers

TXT n'est reconstruit que lorsque des modifications surviennent, la publication reste donc rapide.

Centre des opérations

Les journaux, les incidents et les analyses ne montrent pas « l’erreur », mais la cause

Si le tarif n'a pas été mis à jour, l'opérateur voit exactement ce qui s'est passé : le miroir BestChange n'a pas répondu, la clé a atteint la limite, la paire était obsolète, le TXT n'a pas eu le temps de s'assembler ou la formule a donné un résultat interdit.

Taux de mise à jour

Affiche la durée de la mise à jour, le nombre de paires réussies, les paires non mises à jour et la vitesse par seconde.

Histoire et graphiques

Vous pouvez visualiser le tarif final, le tarif brut, la position, l'écart entre les places et le comportement des concurrents.

Incidents

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.

Droits et accès

La connexion par clé, les groupes de droits, les utilisateurs et le journal d'activité aident l'équipe à travailler en toute sécurité.

Analytique

Vous pouvez voir ce qui a été mis à jour, où se situe le retard et pourquoi le tarif a changé

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.

Mis à jour
1166
Vitesse
4 961/с
Réussite
100%
BTC → CASHRUB_MSK
position #2 · pas personnalisé · TXT prêt
Live
Cours final
4 414 387.0458
Référence
Service d’échange · #2
Sources supplémentaires

BestChange reste la base, mais les cours peuvent être complétés par des sources externes

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]
cours direct, inverse 1/cours ou commission personnalisée
TXT disponible
[bybit_usdt-btc]
cours direct, inverse 1/cours ou commission personnalisée
TXT disponible
[whitebit_usdt-btc]
cours direct, inverse 1/cours ou commission personnalisée
TXT disponible
[heleket_usdt-btc]
cours direct, inverse 1/cours ou commission personnalisée
TXT disponible
[manual_usdt-btc]
cours direct, inverse 1/cours ou commission personnalisée
TXT disponible
Sous le capot

Sur quoi est construit iEXRates ?

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

Panneau d'administration de l'opérateur

React/Vite SPA avec i18n, TanStack Query, tables backend, listes virtuelles et partitions opérationnelles en direct.

React + TanStack Query
cache de requêtes, mises à jour sans redémarrage et fonctionnement stable des écrans
TanStack Table + Virtual
pagination, filtres et listes virtuelles pour des milliers de messages
Tailwind CSS + Vite
assemblage rapide et interface d'administration adaptative
TypeScript strict
typage strict des formulaires, contrats API et état de l'interface
Backend

API, travailleurs et files d'attente

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.

NestJS 11
API unique pour les profils, les paires, les journaux, l'accès et les sources
PostgreSQL + Prisma ORM
base de base, modèles stricts et migrations de schémas
Redis
cache chaud, état en direct, verrous et instantanés rapides
ClickHouse
journaux rapides, historique des mises à jour et analyses des événements
Infra

Déploiement self-hosted

iEXRates est déployé en tant que produit serveur distinct : Go core, Docker Compose, Nginx, PostgreSQL, Redis, ClickHouse et distribution publique des fichiers TXT.

Go
Pool worker, mises à jour par lots, limite de débit et génération de fichiers atomiques
Docker Compose
lancement unique du panneau d'administration, API, moteur, PostgreSQL, Redis, ClickHouse et Nginx
Nginx
proxy API et distribution publique des fichiers TXT
Debian 12 / Ubuntu 22.04
base recommandée pour une installation sur un serveur
Prêt pour service d’échange

iEXRates ferme toute la chaîne : de BestChange au cours terminé sur le site

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.