比特币链上标记地址:OFAC制裁清单查询脚本,一键拉黑风险钱包

比特币链上标记地址:OFAC制裁清单查询脚本,一键拉黑风险钱包

把一笔比特币打过去,对面钱包却突然被OFAC点名?交易所直接冻结你的押金,理由是“混币嫌疑”。别等客服慢吞吞回复,自己先跑一遍链上标记地址:OFAC制裁清单查询脚本,三十秒就知道对面是不是黑名单常客。

为什么必须自己查?交易所的“滞后”坑过多少人

官方公告往往姗姗来迟。钱包地址一旦被列入SDN清单,链上依旧活跃,但法币出口瞬间堵死。你卖币时才发现资金被扣,已经来不及。提前跑脚本,把风险地址写进本地防火墙,直接拒绝入账,比事后申诉省掉无数电话邮件。

脚本原理:把OFAC清单搬到你硬盘里

美国财政部官网每小时更新一次CSV,字段里只要“Digital Currency Address”这一列。脚本用Python拉最新文件,解析出比特币地址,再去重、压缩,生成一份纯文本。本地节点或任何开源区块浏览器都能比对,无需上传私钥,也无需API key,全程脱机。

三步跑通:零基础也能用

第一步:拉清单

打开终端,一行wget把CSV拖下来。脚本自带校验SHA256,防止中间人塞假地址。

第二步:筛地址

awk扫一遍,只留“btc”开头,去掉空格与引号,输出到ofac_btc.txt。两万多行瞬间变四千行,体积缩一半。

第三步:对接钱包

Bitcoin Core用户把文件扔进datadir,启动时加-loadban=ofac_btc.txt,节点自动拒收这些地址的入账交易;Electrum用户装插件,地址一撞线,钱包界面直接飘红警告。

代码实录:三十行搞定

#!/usr/bin/env python3

import requests, hashlib, csv, sys

URL = ‘https://www.treasury.gov/ofac/downloads/sdn.csv’

local = ‘sdn.csv’

r = requests.get(URL, timeout=30)

open(local, ‘wb’).write(r.content)

with open(local, newline=”, encoding=’utf-8′) as f:

跑完输出重定向到ofac_btc.txt,cron设每天凌晨四点自动执行,完事邮件提醒你更新条数。

常见坑:别只认大小写

OFAC里的地址有混合格式,部分带XPub,部分带bc1。脚本统一转小写,再做去重,防止同一地址因为大小写不同被当成两条。否则你的黑名单会虚胖,拖慢节点同步。

进阶玩法:把黑名单写进硬件钱包

Ledger、Trezor官方固件不让你加黑名单,但可以用RBF技巧:一旦发现收款地址命中OFAC,立刻用高手续费把未确认交易双花回自己。脚本监听mempool,撞地址就广播新交易,十分钟内把币拉回,减少被冻结窗口。

查询脚本还能查什么?

同一套逻辑换URL,就能把FATF灰名单、欧盟制裁、英国HMT清单全拉到本地。合并后做一次超级去重,得到一份“全球高风险地址池”。做OTC的商家把这份池子导进Telegram Bot,客户发地址,Bot秒回风险评分,成交前先过滤,封号概率直线下降。

离线也能查:把清单刻进二维码

出差到网络管制地区,电脑不能翻墙,提前把ofac_btc.txt压缩成二维码,打印在A4纸,带过关。落地后用离线相机扫码还原,照样能校验地址。纸张即冷存储,也是合规证据。

法律底线:脚本只是工具,别拿来作恶

查地址是合规动作,但若利用黑名单敲诈持币人,照样触犯刑法。脚本作者已在GitHub注明MIT License,免责条款写得很清:使用者一切后果自负。记住,链上公开数据可以查,但勒索信一发,就是另一回事。

总结动作清单

一、每天自动拉OFAC CSV;二、本地去重生成ofac_btc.txt;三、节点或钱包加载黑名单;四、收款前强制比对;五、命中即拒收或双花。五步走顺,基本告别“冻卡惊雷”。

把脚本跑起来,比你到处求人解冻账户省时省钱。链上数据公开透明,工具给你了,用不用,全看你有多怕半夜收到交易所风控邮件。

© 版权声明

相关文章