Если вы делаете запросы без ключа доступа к API - достаточно установить на сервере дополнительные IP адреса и делать запросы к API с разных IP.
Еще, как вариант, можно отправлять запросы через прокси.
Но вариант с IP лучше, т.к. прокси часто тормозят, глючат и т.д. + с них может еще кто-то, кроме вас, отправлять запросы. Ну и по цене значимой разницы не будет.
Этот вариант можно использовать только если докупить доп. IP на сервер не возможно.
Но тогда лучше просто поменять сервер/хостера ))
Если же делаете запросы с "ключём доступа" к API - тогда придётся сделать несколько аккаунтов чтобы получить несколько таких ключей доступа, т.к. в этом случае отслеживаются запросы именно по ключу.
Но, для надёжности, лучше взять еще и отдельный IP под каждый такой ключ чтобы на стороне BSC/ETH вас было труднее вычислить.
Для Node.js будет что-то типа такого
var http = require('http');
var options = {
hostname: 'www.example.com',
localAddress: '202.1.1.1', // сюда нужно будет по очереди подставлять IP, которые у вас будут
};
var req = http.request(options, function(res) {
res.on('data', function (chunk) {
console.log(chunk.toString());
});
});
UPD: если у вас запросы однотипные, например проверка баланса 1000 пользователей, перевод токенов сразу на 100 кошельков - есть вариант сделать отдельный смарт-контракт типа "multicall", т.е. вы делаете смарт-контракт, который в параметре принимает список кошельков для проверки балансов, в цикле делает запросы и отдаёт ответ с данными балансов всех запрошенных кошельков. По такому принципу работают "multisend" контракты, т.е. когда вы за одну транзакцию делаете сразу несколько переводов на разные кошельки.