PayMatch Manual
TruPay P2P USDTマッチングプラットフォームの操作マニュアル
システム概要
TruPayに届く銀行出金依頼を自社銀行口座から振り込まずに、USDT購入希望者に直接振り込ませることで、自社の銀行リスクを軽減する。購入者は出金希望者の口座に直接送金し、対価としてUSDTを受け取る。
PayMatchは3つの機能を持つプラットフォームです。
TruPay出金マッチング
TruPay出金依頼とUSDT購入者をマッチ。購入者が出金者口座に直接振込 → 自社銀行リスクゼロ。
USDT売却者マッチング
USDT売却希望者と購入者をP2Pマッチ。自社ウォレット送金不要で購入者にUSDTが届く。
P2Pレート比較
Bybit / Binance / OKX の最安レートをリアルタイム集約。USDT / BTC / ETH対応。
USDT購入者へのUSDT供給ルート(2つ)
| ルートA: 自社ウォレット送金 | ルートB: 売却者マッチング | |
|---|---|---|
| USDTの出どころ | 自社TRONウォレット | USDT売却希望者(セラー) |
| 自社リスク | ウォレット残高リスクあり | リスクなし(セラーが供給) |
| 必要条件 | ウォレットにUSDT+TRX残高 | セラーがデポジット済み |
| 速度 | 即時(自動送金) | セラーの確認待ち |
| 適用場面 | セラー不在時のフォールバック | 条件が合うセラーが存在する時 |
全体フロー
ページ一覧
| ページ | URL | 用途 |
|---|---|---|
| Dashboard | / | レート比較ダッシュボード(公開) |
| USDT購入 | /buy-usdt.html | P2P USDT購入ページ(購入者向け) |
| 注文フロー | /pay.html | 従来のP2P注文フロー |
| 管理画面 | /admin.html | 管理者ダッシュボード |
| 管理ログイン | /login.html | 管理者認証 |
| 顧客ログイン | /customer-login.html | 顧客アカウント認証 |
| 顧客ダッシュボード | /customer-dashboard.html | 残高・取引履歴 |
| セラー登録 | /seller-register.html | USDT売却者の新規登録 |
| セラー確認 | /seller-confirm.html | セラーが入金確認する画面 |
| セラーダッシュボード | /seller-dashboard.html | セラーの残高・取引管理 |
| マニュアル | /manual.html | このページ |
登場人物と役割
| 役割 | 説明 | 操作場所 |
|---|---|---|
| 出金者 | sloten.ioでJPY出金申請する人。PayMatchを直接操作しない。銀行口座情報がTruPay経由でPayMatchに渡される。 | sloten.io |
| TruPay | 決済バックエンド。出金承認・着金確認を管理。 | admin.trupay.vip |
| USDT購入者 | JPYを出金者の口座に直接振込してUSDTを受け取る人。 | buy-usdt.html / Telegram Bot |
| USDT売却者 | USDTをPayMatchにデポジットし、JPYを受け取りたい人。購入者へのUSDT供給源になる(ルートB)。 | seller-register.html / Telegram Bot |
| 管理者 | PayMatchの設定・モニタリング・セラー管理。 | admin.html |
従来: TruPay出金依頼 → 自社銀行口座から振込 → 自社に銀行リスク発生
PayMatch: TruPay出金依頼 → USDT購入者が出金者口座に直接振込 → 自社銀行は不使用
さらに、USDT供給も売却者マッチング(ルートB)を使えば自社ウォレットのUSDT在庫リスクもゼロにできます。
購入者フロー(Web UI)
アクセス: /buy-usdt.html
JPY金額 + ウォレット
自動マッチング中
銀行口座に送金
自動確認中
ウォレットに着金
Step 1: 金額とウォレット入力
- 購入したい金額(JPY)を入力(最小 ¥10,000 / 最大 ¥10,000,000)
- クイック選択ボタン: 5万 / 10万 / 30万 / 50万 / 100万
- 受取ウォレットアドレス(TRC-20、Tで始まる34文字)を入力
- 現在のレートと受取予定USDT量が自動表示される
- 「マッチング開始」ボタンを押す
Step 2: マッチング待機
- TruPayの出金申請と自動でマッチングされるのを待つ
- 5秒ごとにステータスを自動確認
- マッチング相手が見つかると自動的にStep 3へ遷移
- キャンセルボタンでいつでも取り消し可能
Step 3: 振込先表示と振込実行
マッチングが成立すると、以下の情報が表示されます:
- カウントダウンタイマーで残り時間を表示(制限時間: 30分)
- 口座番号はCOPYボタンでコピー可能
- 表示された口座に指定金額を正確に振り込む
- 振込完了後、「振込完了を報告」ボタンを押す
- 参照番号の入力は任意(入力すると着金確認が早い場合あり)
Step 4-5: 着金確認とUSDT送金
- 着金確認は自動(TruPayが銀行入金を検知)
- 確認後、USDTが自動的にウォレットに送金される
- TX Hashが画面に表示される
- 通常18-40分で着金確認完了
30分以内に振込しない場合、マッチングはタイムアウトしてキャンセルされます。再度申請が必要です。
購入者フロー(Telegram Bot)
Telegram BotはENABLE_TELEGRAM_BOT=trueを設定後に利用可能になります。
Telegram Botには2つの購入モードがあります。目的に応じて使い分けてください。
A: 取引所レート購入
Bybit / Binance / OKX のリアルタイムP2Pレートで購入。USDT / BTC / ETH対応。PayMatchが登録済み銀行口座を振込先に指定。
ボタン: 「USDT購入」
B: TruPay P2Pマッチング
sloten.io出金申請とマッチング。出金者の銀行口座が振込先になる。USDTのみ。着金確認後に自動送金。
ボタン: 「P2P USDT購入」
| 項目 | A: 取引所レート購入 | B: TruPay P2P |
|---|---|---|
| 対応通貨 | USDT / BTC / ETH | USDTのみ |
| レートソース | Bybit / Binance / OKX 最安値 | 3取引所の中間値 |
| 振込先 | PayMatch登録口座(固定) | 出金者の口座(毎回異なる) |
| 金額範囲 | ¥1,000 ~ ¥1,000,000 | ¥10,000 ~ ¥10,000,000 |
| マッチング | 即時(注文即作成) | 出金キューから自動マッチ(待機あり) |
| 着金確認 | 管理者が手動確認 | TruPay自動検知(18-40分) |
| タイムアウト | 注文ごとに設定 | 30分 |
モードA: 取引所レート購入
Bybit / Binance / OKX から最安レートで暗号通貨を購入するフロー。
JPY金額
USDT/BTC/ETH
振込先表示
銀行送金
暗号通貨受取
- Telegram Botで
/start→ 「USDT購入」ボタンをタップ - 金額を入力(例:
10000/5万)またはクイック選択 - 3取引所のレートが比較表示される:
USDT: 149.80 (Binance)
BTC: ¥14,520,000 (OKX)
ETH: ¥287,000 (Bybit) - 購入する通貨を選択(USDT / BTC / ETH)
- 注文が即座に作成され、PayMatch登録済み銀行口座が振込先として表示される:
銀行名PayMatch指定口座口座番号(登録口座から自動割当)金額¥10,000
- 銀行で振込実行 → 「振込完了」ボタン
- 管理者が入金確認 → 暗号通貨がウォレットに送金される
モードB: TruPay P2Pマッチング
sloten.ioの出金申請と自動マッチング。出金者の銀行口座に直接振り込む。
USDT受取先
自動マッチ
出金者口座へ
TruPay自動
TRC-20送金
- Telegram Botで
/start→ 「P2P USDT購入」ボタンをタップ - 金額を選択(5万 / 10万 / 30万 / 50万 / 100万 / カスタム入力)
- 受取ウォレットアドレス(TRC-20 / Tで始まる34文字)を入力
- 確認画面で「購入確定」をタップ
- マッチング待機 — 出金キューから自動マッチングされるのを待つ
- マッチング成立 → Bot内に出金者の銀行口座が自動通知される:
銀行みずほ銀行支店オリーブBLUE支店口座番号6662426名義ナカジマケイタ振込金額¥288,000期限30分以内
- 銀行で振込実行
- 「振込完了を報告」ボタン → 参照番号入力(わからなければ「なし」)
- 着金確認(TruPay自動検知 18-40分)
- USDT自動送金 → Bot内で「USDT送金完了」通知 + TX Hash
- 振込先は毎回異なる個人口座(出金者の口座)です
- 30分以内に振込しないとタイムアウト → マッチングキャンセル
- 金額は指定金額を正確に振り込んでください
3つの購入チャネル比較
| チャネル | モード | 特徴 | 最適な用途 |
|---|---|---|---|
Web UI/buy-usdt.html |
TruPay P2P | ブラウザで完結。アカウント不要。コピーしやすい。 | 初回利用 / PC操作 |
| Telegram Bot 「USDT購入」 |
取引所レート | USDT/BTC/ETH対応。3取引所最安値。即時注文。 | 暗号通貨を安く買いたい |
| Telegram Bot 「P2P USDT購入」 |
TruPay P2P | プッシュ通知。ページ不要。ステータス追跡。 | モバイル / リピーター |
Web UI/pay.html |
取引所レート | フル機能の注文フロー。通貨選択・支払方法。 | カスタム注文 / 詳細設定 |
USDT売却者(セラー)フロー
USDT売却者(セラー)はUSDTをPayMatchにデポジットし、購入者に供給する役割を担います。セラーが存在する場合、自社ウォレットからのUSDT送金(ルートA)が不要になり、自社のUSDT在庫リスクもゼロにできます。
セラーの仕組み
セラー登録
アクセス: /seller-register.html
- 名前・メール・パスワードを入力
- 受取方法を設定(PayPay / LINE Pay / au PAY のいずれか)
- 最小・最大取引金額を設定
- 登録完了 → 確認トークン発行
セラーの運用フロー
アカウント作成
USDT入金
自動マッチング
入金確認
JPY受取
- セラー登録 →
/seller-register.htmlでアカウント作成 - USDTデポジット → PayMatchウォレットにUSDTを送金。残高に反映される。
- 自動マッチング → 購入者の取引が発生すると、条件に合うセラーが自動選択される(取引数順)
- 入金確認 →
/seller-confirm.htmlで購入者の振込を確認(または自動確認) - 完了 → セラーの残高からUSDTが差し引かれ、購入者に送金される
- USDTをJPYに換金できる(出金者への振込 = 実質的なJPY受取)
- 取引所を使わずにUSDT → JPYの換金が可能
- デポジット額の範囲内で自動的に取引が回る
出金者(JPYが欲しい) ← 購入者が直接振込
購入者(USDTが欲しい) ← セラーのデポジットから送金
セラー(JPYが欲しい) ← 購入者の振込が実質的なJPY支払い
全員が欲しいものを得て、自社の銀行口座もウォレットも使わない完全P2Pモデルが実現できます。
管理者の操作
ログイン
URL: /login.html
ユーザー名: admin / パスワード: .envのBK_ADMIN_PASSWORD
管理画面でできること
| 機能 | 説明 |
|---|---|
| レート一覧 | Bybit / Binance / OKX のリアルタイムP2Pレート |
| アービトラージ | 取引所間の価格差・利益機会の自動検出 |
| 注文管理 | 全注文の一覧・ステータス変更・検索 |
| 顧客管理 | 登録者の確認・アカウント停止/有効化 |
| TruPay出金キュー | 検知された出金一覧・マッチング状況 |
| TruPayマッチ | マッチング履歴・ステータス追跡 |
| ウォレット | TRON残高・送金履歴・Sweep設定 |
| 設定 | 手数料・レート・銀行口座・APIキー管理 |
TruPay連携(自動稼働中)
管理者の操作なしで以下が自動実行されています:
| プロセス | 間隔 | 説明 |
|---|---|---|
| TruPay Poller | 60秒 | 承認済み出金(status=31)を検知 → キュー登録 |
| TruPay Matcher | 30秒 | キュー内出金と購入者を自動マッチ |
| TruPay Verifier | 60秒 | 着金確認(status=32検知)→ USDT送金トリガー |
| JWT Refresh | 12時間 | TruPay APIトークン自動更新(手動不要) |
| Rate Updater | 30秒 | 3取引所のレート集約 |
自動プロセスの詳細
TruPay出金検知 → USDT送金の流れ
ルートB優先: 必要USDT量を保有する売却者(セラー)がデポジット済みの場合、セラーのUSDTが購入者に送金される。セラーのデポジットが不足する場合のみ、ルートA(自社ウォレット)にフォールバック。
着金確認の2つの方式
方式A: 自動確認
TruPayのステータスがnew_status=32(completed)になったのをPollerが検知。通常18-40分。
方式B: 手動確認
購入者が参照番号を入力 → POST /scrapper/matchでTruPayに送信。即時確認の可能性あり。
タイムアウト処理
- マッチング成立から30分以内に振込がない場合、自動タイムアウト
- 出金はキュー(queued状態)に戻され、次の購入者とマッチング可能
- 購入者にタイムアウト通知が送信される
現在のステータス
| 機能 | 状態 | 備考 |
|---|---|---|
| レート集約(Bybit/Binance/OKX) | 稼働中 | 30秒更新 |
| TruPay JWT自動更新 | 稼働中 | 12時間ごと、手動不要 |
| TruPay出金ポーリング | 稼働中 | 出金を自動キュー登録中 |
| マッチングエンジン | 稼働中 | 購入者登録で即マッチ |
| 着金確認 | 稼働中 | 自動 + 手動の2方式 |
| USDT自動送金 | 設定待ち | TRON秘密鍵 + USDT/TRX入金が必要 |
| Telegram Bot | 設定待ち | ENABLE_TELEGRAM_BOT=true で有効化 |
| Telegram通知 | 設定待ち | ENABLE_NOTIFIER=true で有効化 |
| 購入者Web UI | 利用可能 | /buy-usdt.html |
有効化設定
以下の設定を .env に追記して docker compose down && docker compose up -d で反映。
Telegram Bot + 通知
ENABLE_NOTIFIER=true
ENABLE_TELEGRAM_BOT=true
TELEGRAM_BOT_TOKEN=(BotFatherで取得)
TELEGRAM_STAFF_CHAT_ID=(通知先チャットID)
USDT自動送金
TRON_WALLET_PRIVATE_KEY=(TRONウォレット秘密鍵)
TRONGRID_API_KEY=(TronGrid APIキー)
ウォレットにUSDT(TRC-20)と手数料用のTRX(最低20 TRX推奨)を入金してください。USDT残高が0の場合、送金処理でエラーになります。
TruPay連携(設定済み)
ENABLE_TRUPAY=true
TRUPAY_EMAIL=(設定済み)
TRUPAY_PASSWORD=(設定済み)
JWTは12時間ごとに自動更新されるため、手動操作は不要です。
FAQ
Q: 購入者が振込先を見るにはどうする?
/buy-usdt.html で金額とウォレットを入力してマッチング開始。成立すると画面に振込先が表示されます。Telegram Botでも同様にBot内で通知されます。
Q: マッチングにどのくらい時間がかかる?
TruPayに承認済み出金がキューにあれば即座にマッチングされます(30秒以内)。出金がない場合は、新しい出金が来るまで待機します。
Q: 着金確認はどのくらいかかる?
TruPayの実測値: 最速18分、平均20-40分、最遅30分以上。タイムアウトは30分に設定されています。
Q: JWT(TruPayトークン)は手動更新が必要?
不要です。アプリ起動時にログインAPIで自動取得し、12時間ごとに自動更新されます。401エラー時も即座に再ログインします。
Q: サーバーを再起動するには?
通常再起動: docker compose restart
.env変更時: docker compose down && docker compose up -d
コード変更時: docker compose down && docker compose up -d --build
Q: 閉鎖された取引所のエラーが出る
2026-03時点で稼働確認済みの取引所はBybit / Binance / OKXの3つのみです。その他(MEXC, KuCoin, Paxful, AgoraDesk等)は無効化済みです。