Monitoring: for exchangers
my-banks.info shows rates only from a feed that the exchanger itself publishes for monitoring services: with its consent to monitoring, or from a standard open rates file — then marked «Collected automatically» until the exchanger confirms its participation (how it works; to opt out — below). We do not scrape web pages or other aggregators and do not bypass anti-bot protection. Exchangers without a feed are in the directory with the mark «No feed connected» — without rates.
Our robot
- User-Agent:
my-banks.info-monitor/1.0 (+https://my-banks.info/monitoring) - We will announce the robot's IP addresses after launch — for whitelisting in your DDoS protection.
- Frequency: at launch — one request per exchanger every 15 minutes. The interval for a particular exchanger can be changed within 60–3600 seconds by agreement.
- Conditional requests:
If-None-Match/If-Modified-Since— if the feed has not changed, answer304. - Compression
gzip, timeout 10 s, feed size up to 10 MB. - No retries on error: the next attempt comes after a pause that grows up to 30 minutes.
- We respect
robots.txt: if the feed path is disallowed, we do not poll it.
Feed format
The rates.xml standard for monitoring services (XML or JSON): direction (from/to), rate (in/out), reserve,
minimum and maximum amount and, if needed, fees, the city for cash and condition flags. We do not show rouble directions
from feeds and skip them.
How to add an exchanger
- If the exchanger is already in the directory, click «Connect a feed» on its page. If not, fill in the request: website, feed address, contact and consent to monitoring.
- We will check the feed, legal details, rules and AML/KYC policy and reply. There is no automatic listing.
- After consent and the check the exchanger appears in the results. A partnership is not a condition and does not affect the order.
How to stop monitoring
On the exchanger's page in the directory click «Update the feed or details» and write «remove from monitoring» — we will stop
polling and remove the rates from the results. Or disallow the feed path in robots.txt: the robot will stop polling it.
What we show
The rate, the amount you get, the reserve, limits and update time — marked «Data from the exchanger's feed». How we calculate the order — see the methodology.
For exchanger operators: feed, frequency, connection
What a standard file looks like
The example below is invented: the currency codes and structure follow the standard for monitoring services
(BestChange EREF v1.1; most monitoring services read the same fields), the numbers are arbitrary, not market rates. We also read
v1.0 (minamount/maxamount) and the variant with units in limits (50 USDT).
<?xml version="1.0" encoding="UTF-8"?>
<rates>
<item>
<from>USDTTRC20</from>
<to>P24UAH</to>
<in>1</in>
<out>41.25</out>
<amount>1500000</amount>
<frommin>50</frommin>
<frommax>20000</frommax>
<fromfee>1</fromfee>
<tofee>0.5%</tofee>
<manual/>
</item>
<item>
<from>BTC</from>
<to>MONOBUAH</to>
<in>1</in>
<out>2650000</out>
<amount>900000</amount>
<frommin>0.001</frommin>
<frommax>2</frommax>
</item>
<item>
<from>USDTTRC20</from>
<to>CASHUSD</to>
<in>1.01</in>
<out>1</out>
<amount>200000</amount>
<city>KIEV,LVOV</city>
</item>
</rates>
The same set of fields in JSON:
{
"version": 1,
"rates": [
{"from": "USDTTRC20", "to": "P24UAH", "in": 1, "out": 41.25, "amount": 1500000,
"frommin": 50, "frommax": 20000, "fromfee": "1%", "manual": true},
{"from": "BTC", "to": "MONOBUAH", "in": 1, "out": 2650000, "amount": 900000,
"frommin": 0.001, "frommax": 2}
]
}
What we read
from,to— direction codes (as in the standard:USDTTRC20,BTC,P24UAH,MONOBUAH,CARDUAH,CASHUSD…); unknown codes and rouble directions are skipped.in,out— the rate: forinunits of «from» the client getsoutunits of «to».amount— the reserve in the «to» currency;0— the direction is temporarily hidden.frommin/frommax(orminamount/maxamount),fromfee/tofee— as a number or a percentage.city— for cash (city codes separated by commas); we do not show cities in occupied territories.- Condition flags (
manual,verifying,cardverify…) — as separate tags or inparam.
Polling frequency
At launch we poll each feed every 15 minutes. A row that has not been updated for longer than 45 minutes is shown in grey with the mark «data outdated» and is not compared with others. The update time next to each rate is honest: «updated N min ago».
Need it more often? After a load test with hundreds of feeds we will be able to poll the feeds of exchangers that ask for it every 1–5 minutes. Write through the «Update the feed or details» form on your exchanger's page. We do not plan polling every few seconds: we do not carry out exchanges, and the client sees the final rate on your website anyway.
Whitelist and closed feed
- Add the User-Agent
my-banks.info-monitor/1.0 (+https://my-banks.info/monitoring)to your anti-bot whitelist; we will publish the robot's IP addresses here after launch. The robot does not pass or bypass captchas and JS checks. - Closed feed: pass the token through the connection form. We do not store the token in the database or write it to logs — it waits for the editor encrypted and goes into the robot settings. Better use a separate read-only token for the feed.
Premium Exchanger 2.1: how to turn on the rates file
We read the standard XML export of the Premium Exchanger 2.1 engine as rates.xml without extra settings: limits
with a currency code (100 USDT), fees as a list (10 UAH, 1.5 %), a separate record for each city,
flags in param (manual, juridical, verifying, hold).
We do not accept the TXT export — it has no limits, fees or cities; version 2.1 has no JSON export.
- WordPress admin → «Настройки обменника» (exchanger settings) → «Настройки TXT и XML экспорта» (TXT and XML export settings): turn on XML.
- File address:
https://<site>/request-exportxml.xml(physical files mode —/premium_request-exportxml.php, legacy —/exportxml.xml). If the personal hash is on, send us the full address with?hcron=…through the connection form: without the hash the engine returns<error>. - The «static file» mode is better: the file is rebuilt on events, and the server answers
304to our conditional request. In the dynamic mode the file is built for every request — this works too. - Currency codes — the «XML name» field in the currency card: BestChange codes (
USDTTRC20,P24UAH,MONOBUAH,CASHUAH,BTC…). We read the old codesUSDTERCasUSDTERC20andDSHasDASH;USDTwithout a network is not accepted. Cash cities — thexml_cityfield (KIEV,LVOV,ODS…), several separated by commas. - Allow the file path in
robots.txtfor our robot and add its User-Agent to your DDoS protection whitelist.
How we handle the file: <error>Maintenance</error> with HTTP 200 means maintenance: we do not update the rates,
and over time the rows get the mark «data outdated»; a BOM and empty lines before the XML header are skipped; a negative reserve
counts as zero (the direction is inactive); a row with a zero rate is dropped; an empty <rates> makes all directions inactive.
How to remove an exchanger from monitoring
The «Update the feed or details» form on the exchanger's page with the note «remove from monitoring», or disallowing the feed path
in robots.txt. After the consent is withdrawn, the rates disappear from the results, and the directory page shows
«Monitoring paused» or «No feed connected».