Вывод средств с okx python script

minimaliq

Новичок
Пользователь
Апр 11, 2023
1
0
1
Всем привет! нужна помощь пишу свой первый проект по python. Но код не работает и выдает такую ошибку

Api ключи убрал в целях безопасности

Withdrawal request failed with status code: 400
Error message: {'msg': 'Invalid token', 'code': '53000'}


import base64
import hmac
import hashlib
import requests
import datetime
import json

def get_time():
now = datetime.datetime.utcnow()
t = now.isoformat("T", "milliseconds")
return t + "Z"

# Замените значениями свои ключи доступа к API Okex
api_key = ''
api_secret = ''
api_passphrase = ""
# Установите базовый URL и конечный путь для API Okex
base_url = 'https://www.okx.com'
endpoint = '/api/v5/asset/withdrawal'
# Устанавливаем параметры запроса
currency = 'eth'
chain = 'ETH-Arbitrum one'
# Замените на ваш адрес Ethereum
to_address = ''
amount = 0.003
# Создаем словарь с параметрами запроса
params = {
'ccy': currency,
'chain': chain,
'toAddr': to_address,
'dest': 4, # Устанавливаем значение 4 для сети Arbitrum
'amt': '0.003',
'fee': '0.0001'
}
# Создаем словарь с заголовками запроса
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + base64.b64encode((api_key + ':' + api_passphrase).encode('utf-8')).decode('utf-8'),
'OK-ACCESS-KEY': api_key,
'OK-ACCESS-SIGN': '',
'OK-ACCESS-TIMESTAMP': '',
'OK-ACCESS-PASSPHRASE': api_passphrase
}

# Создаем сообщение, которое будем подписывать
message = headers['OK-ACCESS-TIMESTAMP'] + 'POST' + endpoint
# Создаем подпись
timestamp = get_time()
headers['OK-ACCESS-TIMESTAMP'] = str(timestamp)

pre_hash = timestamp + 'POST' + '/api/v5/asset/withdrawal' + \
json.dumps(params, separators=(',', ':'))
signature = base64.b64encode(hmac.new(api_secret.encode(
'utf-8'), pre_hash.encode('utf-8'), hashlib.sha256).digest()).decode('utf-8')
headers['OK-ACCESS-SIGN'] = signature
# Отправляем POST-запрос на API Okex для вывода Ethereum
url = base_url + endpoint
response = requests.post(url, headers=headers, json=params)
# Проверяем статус-код ответа
if response.status_code == 200:
print('Withdrawal request successful')
else:
print('Withdrawal request failed with status code:', response.status_code)
try:
error_response = response.json()
print('Error message:', error_response)
except json.JSONDecodeError:
print('Error message:', response.text)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
код нужно выкладывать как код, соблюдая отступы - https://itfy.org/threads/kak-ne-nado-zadavat-voprosy.3450/#post-13566

первый проект и сразу с деньгами...
 

Форум IT Специалистов