Skip to content
RugWard
☰ メニュー

RugWard Pay

Base 手数料スプリッター(0.5%)

Base 上の ETH と USDC の支払いが、購入者自身のトランザクション内でオンチェーンにあなた(99.5%)と RugWard(0.5%)に分割される仕組みと、コントラクトを自分で確認する方法。

このページの内容

スプリッターとは#

Base では、ETH と USDC の支払いは小さく変更不可能なコントラクト、RugWard Pay スプリッター(splitter)を経由します。購入者の 1 回のトランザクションで、99.5% をあなたのアドレスへ、0.5% を RugWard 手数料ウォレットへ送ります。資金は購入者からあなたへ直接移動し、コントラクトが残高を保持することはありません。

ネットワークBase(chain id 8453)
スプリッター0x476EB0fECACA54d1311DB81bD3523cB0Dc66Dfab
手数料ウォレット0xd3651425E1942f6b81dE2602093BbaEac466c666
手数料FEE_BPS = 50(0.5%)、切り捨て
ランタイムコードハッシュ0xfbeadea59a5f03449a5e59bf11709160e03040568062bb2f0ba8fa779b8fd64d
経由する資産ETH-8453 と USDC-8453 のみ

スプリッターを使うのは Base だけです。 その他すべてのネットワーク(Bitcoin、Monero、Solana、Ethereum、Arbitrum、BNB Chain、Polygon)では、支払いはオンチェーン分割も RugWard 手数料もなしに、あなたのアドレスへ直接送られます(ローンチ特典)。Base では USDT は提供されていません。

なぜスプリッターなのか#

手数料は支払いの瞬間にオンチェーンで透明に差し引かれ、RugWard があなたの資金を預かることは一切ありません。あなたも購入者も BaseScan で両方の送金を確認でき、誰も割合を変更できません。変更不可能なコード内の定数だからです。

コントラクト#

RugWardPaySplitter (public interface)
uint256 public constant FEE_BPS = 50;        // 0.5 %
address public immutable feeWallet;          // 0xd3651425E1942f6b81dE2602093BbaEac466c666

event Paid(bytes32 indexed ref, address indexed merchant, address indexed token,
           address payer, uint256 amount, uint256 fee);   // token = 0x0 for ETH

function feeOf(uint256 amount) public pure returns (uint256);   // amount * 50 / 10000, rounded down
function payNative(address merchant, bytes32 ref) external payable;
function payToken(IERC20 token, address merchant, uint256 amount, bytes32 ref) external;
  • payNative:購入者が ETH を送ると、コントラクトは同じ呼び出しで value − fee をあなたに、fee を手数料ウォレットに転送します。
  • payToken:購入者がスプリッターに金額ちょうどの承認を与えた後、transferFrom で amount − fee を購入者からあなたへ、fee を手数料ウォレットへ移動します。トークンがコントラクトに留まることはありません。
  • Paid は見積もりのランダムな 32 バイトの ref とともに発行されます。RugWard はこのイベントで支払いと請求書を照合します。
  • オーナー、管理者関数、一時停止、アップグレード、引き出し手段はいずれも存在しません。上記の 5 つの公開関数がコントラクトのすべてです。ゼロアドレスやスプリッター自身への支払いはリバートされます。

チェックアウトの動作#

Base のチェックアウト
Base のチェックアウトには合計、あなたの 99.5%、0.5% の手数料、スプリッターのアドレスが表示されます
  1. 見積もりには新しいランダムな ref、あなたのアドレス、スプリッターのアドレスが含まれます。
  2. 何かに署名する前に、購入者のブラウザが Base からスプリッターのコードを読み取り、そのハッシュをレビュー済みビルドと比較します。一致しなければ停止します。
  3. ETH: トランザクション 1 回、payNative(merchant, ref)。USDC: ウォレットが 2 回確認します。スプリッターにちょうどの金額を承認し、その後 payToken(USDC, merchant, amount, ref) を実行します。
  4. RugWard が支払いを計上するのは、Paid イベントが登録済みスプリッターから発行され(コードハッシュをオンチェーンで再確認、10 分間キャッシュ)、この見積もりの ref、あなたのアドレス、正しいトークンを含み、手数料がちょうど feeOf(amount) に等しい場合だけです。計上される金額はあなたに届いた金額です。
  5. 30 ブロックの承認後、請求書は paid になります。

重要な影響:

  • Base の見積もりに対してあなたのアドレスへ ETH や USDC を直接送金しても、自動では検出されません。購入者が誤ってそうした場合、資金はあなたのウォレットにあります。手動で処理してください(未照合の支払いを参照)。
  • 見積もり金額の 99.5% があなたに届いた時点で請求書は支払い済みになります(購入者は 100% を支払います)。
  • 受取アドレスがスマートコントラクトウォレットの場合、通常の ETH 送金を受け取れる必要があります(一般的な Safe やスマートアカウントは受け取れます)。
  • 購入者が USDC を承認した後に支払いを中断した場合、その金額ちょうどの承認がスプリッターに残ります。これは無害です(購入者本人だけが payToken 経由で、しかも販売者への支払いにのみ使えます)。購入者は Approvals で取り消せます。

自分で確認する#

誰でも公開ツールでデプロイを確認できます。例えば Foundry の cast を使います:

Check the contract yourself (Foundry cast)
RPC=https://mainnet.base.org
SPLITTER=0x476EB0fECACA54d1311DB81bD3523cB0Dc66Dfab

cast keccak $(cast code $SPLITTER --rpc-url $RPC)
# expected: 0xfbeadea59a5f03449a5e59bf11709160e03040568062bb2f0ba8fa779b8fd64d

cast call $SPLITTER "feeWallet()(address)" --rpc-url $RPC
# 0xd3651425E1942f6b81dE2602093BbaEac466c666
cast call $SPLITTER "FEE_BPS()(uint256)" --rpc-url $RPC
# 50
cast call $SPLITTER "feeOf(uint256)(uint256)" 25000000 --rpc-url $RPC
# 125000  (0.125 USDC of a 25 USDC payment)

または BaseScan でアドレスを開き、Paid イベントと内部送金を確認してください。

Sepolia でテストする#

同じコントラクトビルドが Ethereum Sepolia の 0xbcb045fba82ce46ac073ac609cb227d20c450ce5 にデプロイされており、分割比率も同じ 99.5% / 0.5% です。ダッシュボードのテスト請求書は無料のテスト ETH とテスト USDC でこれを使うため、実際のお金を受け取る前に正確な流れを確認できます。

レビューの状況#

スプリッターは RugWard により社内レビュー済みで、当社独自の Foundry テスト(ユニットテストとファズテスト)でカバーされています。独立した企業によるレビューは受けていません。ソースと動作は数分で読めるほど小さく、上記のインターフェースがすべてです。

最終更新: 2026年10月30日

Base 手数料スプリッター(0.5%) · RugWard ドキュメント | RugWard