> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sender Max：最速のSolanaトランザクション着地

> Helius Senderの最速着地の階層を通じてSolanaトランザクションとバンドルを送信します。すべてのパスウェイ（Helius、Jito、Harmonic、Rakuraiなど）にアクセス可能で、0.001 SOLの最低チップが必要です。

## 概要

<Note>
  **料金更新**：Sender Maxは現在、**0.001 SOL**の最低チップを使用しています。
  これにより、ブロックのトップに優先されるチップバッファーに参加します — より多くのチップを支払うことで先に着地します。
</Note>

Sender Maxは最高性能の[Helius Sender](/ja/sending-transactions/sender)階層であり、競争に勝つ必要がある提出物向けに設計されています。すべての利用可能な高速パスウェイを通じて送信し、最高のチップを優先する優先チップバッファーに挿入されます。

Sender Maxは**単一トランザクションとバンドル**の両方を扱います。どちらもすべてのパスウェイ（Helius、Jito、Harmonic、Rakuraiなど）を使用します — 唯一の違いはペイロードです：1つのトランザクションを`sendTransaction`で提出するか、最大4つを`sendBundle`で行います。

この階層では**0.001 SOL**の最低チップが必要です。単一のパスでのコスト最適化送信には、[SWQOS-only](/ja/sending-transactions/sender-swqos-only)階層を使用してください。

<CardGroup cols={2}>
  <Card title="最速の着地" icon="trophy">
    最高速パスウェイを通じて送信され、最高の着地確率
  </Card>

  <Card title="優先チップバッファー" icon="arrow-up-wide-short">
    提出物は優先チップバッファーに入り、
    最高のチップが優先されます — より多くのチップを支払うと先に着地します
  </Card>

  <Card title="クレジット不要" icon="coins">
    すべてのプランでAPIクレジットを消費せずに利用可能
  </Card>

  <Card title="0.001 SOL最低チップ" icon="dollar-sign">
    優先チップバッファーとすべてのルーティングパスウェイを
    利用するために必要な最低チップ
  </Card>
</CardGroup>

## 作動原理

少なくとも**0.001 SOL**をチップすると、単一トランザクションまたはバンドルがすべての利用可能な高速パスウェイを通じて送信され、優先チップバッファーに入ります。バッファーは最高のチップを優先するため、最低チップを超えてチップを上げることで先に着地する確率が上がります。

<Note>
  0.001 SOL未満のチップは優先チップバッファーに入りません — それらは少ないパスウェイでベストエフォートで送信されます。より低いチップで予測可能な低遅延送信には、[SWQOS-only](/ja/sending-transactions/sender-swqos-only)階層
  （0.000005 SOL）を使用してください。
</Note>

## Maxの使用時

<CardGroup cols={2}>
  <Card title="適合" icon="circle-check">
    激しい競争があるアカウント、競争的なトークンローンチ、清算、先に着地する価値があるトランザクション。
  </Card>

  <Card title="代わりにSWQOS-onlyを検討" icon="dollar-sign" href="/ja/sending-transactions/sender-swqos-only">
    コストセンシティブまたは高ボリュームのフローで、単一の高速パスが信頼性を持って着地する場合。
  </Card>
</CardGroup>

## 必要条件

すべてのSender Max提出物は以下を含む必要があります：

* **チップ**：指定された[チップアカウント](/ja/sending-transactions/sender#requirements)への少なくとも**0.001 SOL**のSOL転送。バンドルでは、少なくとも1つのトランザクションがチップを持つ必要があります。
* **優先手数料**：少なくとも**5,000ラメンツ**の優先手数料を持つ計算ユニット価格の命令。詳細は[優先手数料](#priority-fees)を参照してください。

プリフライトのスキップ (`skipPreflight: true`) はオプションですが推奨されます — プリフライトチェックは遅延を増加させます。

<Warning>
  チップまたは優先手数料が不足しているトランザクションは拒否されます。
  バンドル専用のルールについては、[バンドル](#bundles)を参照してください。
</Warning>

## 優先手数料

すべてのトランザクションは少なくとも**5,000ラメンツ**の優先手数料を含む必要がありますが、**少なくとも10,000ラメンツ**を推奨します。チップはトランザクションを優先チップバッファーに入れ、優先手数料はバリデーターのスケジューラーでの優先度を上げます — これらを組み合わせることで着地の確率を最大化します。

計算ユニット価格の命令で優先手数料を設定します。総優先手数料は、計算ユニットの価格（マイクロラメンツ単位）を計算ユニットの制限に掛けたものです：

```typescript theme={"system"}
import { ComputeBudgetProgram } from "@solana/web3.js";

ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 200_000 });
```

現在のネットワーク状況に基づくリアルタイムの手数料推奨には[Helius Priority Fee API](/ja/priority-fee-api)を使用してください。

## エンドポイント

フロントエンドにはグローバルHTTPSエンドポイントを使用し、バックエンドにはサーバーに最も近いリージョナルHTTPエンドポイントを使用します。

**フロントエンド/ブラウザ（グローバルHTTPS）：**

```
https://sender.helius-rpc.com/fast
```

**バックエンド/サーバー（リージョナルHTTP）：**

```
http://slc-sender.helius-rpc.com/fast   # Salt Lake City
http://ewr-sender.helius-rpc.com/fast   # Newark
http://lon-sender.helius-rpc.com/fast   # London
http://fra-sender.helius-rpc.com/fast   # Frankfurt
http://ams-sender.helius-rpc.com/fast   # Amsterdam
http://sg-sender.helius-rpc.com/fast    # Singapore
http://tyo-sender.helius-rpc.com/fast   # Tokyo
```

接続ウォームアップや詳細は[Senderエンドポイントリファレンス](/ja/sending-transactions/sender#endpoints)を参照してください。

<Tip>
  サンドイッチ攻撃に関連するバリデーターを避けたいですか？エンドポイントURLに[`mev-protect=true`](/ja/sending-transactions/mev-protect)を追加します —
  これは`sendTransaction`と`sendBundle`の両方で機能します：
  `https://sender.helius-rpc.com/fast?mev-protect=true`。
</Tip>

## コード例

<Tabs>
  <Tab title="@solana/web3.js">
    ```typescript [expandable] theme={"system"}
    import { 
      Connection, 
      TransactionMessage,
      VersionedTransaction,
      SystemProgram, 
      PublicKey,
      Keypair,
      LAMPORTS_PER_SOL,
      ComputeBudgetProgram
    } from '@solana/web3.js';
    import bs58 from 'bs58';

    const PRIV_B58 = 'Your Private Key';
    const RECIPIENT = 'Recipient Address';
    const HELIUS_API_KEY = 'Your API Key';
    const TIP_ACCOUNTS = [
      "4ACfpUFoaSD9bfPdeu6DBt89gB6ENTeHBXCAi87NhDEE",
      "D2L6yPZ2FmmmTKPgzaMKdhu6EWZcTpLy1Vhx8uvZe7NZ",
      "9bnz4RShgq1hAnLnZbP8kbgBg1kEmcJBYQq3gQbmnSta",
      "5VY91ws6B2hMmBFRsXkoAAdsPHBJwRfBht4DXox3xkwn",
      "2nyhqdwKcJZR2vcqCyrYsaPVdAnFoJjiksCXJ7hfEYgD",
      "2q5pghRs6arqVjRvT5gfgWfWcHWmw1ZuCzphgd5KfWGJ",
      "wyvPkWjVZz1M8fHQnMMCDTQDbkManefNNhweYk5WkcF",
      "3KCKozbAaF75qEU33jtzozcJ29yJuaLJTy2jFdzUY8bT",
      "4vieeGHPYPG2MmyPRcYjdiDmmhN3ww7hsFNap8pVN3Ey",
      "4TQLFNWK8AovT1gFvda5jfw2oJeRMKEmw7aH6MGBJ3or"
    ];

    async function sendWithSenderMax(
      keypair: Keypair,
      recipientAddress: string
    ): Promise<string> {
      const connection = new Connection(
        `https://mainnet.helius-rpc.com/?api-key=${HELIUS_API_KEY}`
      );

      const { value: { blockhash } } = await connection.getLatestBlockhashAndContext('confirmed');

      // Build transaction: priority fee + recipient transfer + 0.001 SOL tip
      const transaction = new VersionedTransaction(
        new TransactionMessage({
          instructions: [
            ComputeBudgetProgram.setComputeUnitLimit({ units: 100_000 }),
            ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 200_000 }),
            SystemProgram.transfer({
              fromPubkey: keypair.publicKey,
              toPubkey: new PublicKey(recipientAddress),
              lamports: 0.001 * LAMPORTS_PER_SOL,
            }),
            SystemProgram.transfer({
              fromPubkey: keypair.publicKey,
              toPubkey: new PublicKey(TIP_ACCOUNTS[Math.floor(Math.random() * TIP_ACCOUNTS.length)]),
              lamports: 0.001 * LAMPORTS_PER_SOL, // Minimum tip to enter the priority tip buffer
            })
          ],
          payerKey: keypair.publicKey,
          recentBlockhash: blockhash,
        }).compileToV0Message()
      );

      transaction.sign([keypair]);

      // Frontend: use the global HTTPS endpoint to avoid CORS issues
      const SENDER_ENDPOINT = 'https://sender.helius-rpc.com/fast';
      // Backend: use the regional HTTP endpoint closest to your servers
      // const SENDER_ENDPOINT = 'http://slc-sender.helius-rpc.com/fast';

      const response = await fetch(SENDER_ENDPOINT, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          jsonrpc: '2.0',
          id: Date.now().toString(),
          method: 'sendTransaction',
          params: [
            Buffer.from(transaction.serialize()).toString('base64'),
            {
              encoding: 'base64',
              skipPreflight: true, // Optional: skip for lower latency
              maxRetries: 0
            }
          ]
        })
      });

      const json = await response.json();
      if (json.error) {
        throw new Error(json.error.message);
      }

      console.log('Transaction sent:', json.result);
      return json.result;
    }

    // Usage
    sendWithSenderMax(Keypair.fromSecretKey(bs58.decode(PRIV_B58)), RECIPIENT);
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={"system"}
    curl "https://sender.helius-rpc.com/fast" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendTransaction",
        "params": [
          "BASE64_ENCODED_TRANSACTION",
          {
            "encoding": "base64",
            "skipPreflight": true,
            "maxRetries": 0
          }
        ]
      }'
    ```
  </Tab>
</Tabs>

<Tip>
  競争の激しいトランザクションには、0.001 SOLの最低値は競争力がない可能性があります。
  あなたが着地を成功させたいトランザクションの価値に近いチップを設定してください — 成功した着地があなたにとって価値があるほど、より多くのチップを支払うべきです。
  最低限は床であり、目標ではありません。
</Tip>

## バンドル

バンドルはSender Maxが受け入れるもう一つのペイロードです。最大4つの完全に署名されたトランザクションを提出し、それらは順次かつ全体的に（すべてまたは何もなしで）実行され、**単一トランザクションと同じ優先チップバッファー**に入ります — バッファーは最速の着地のために最高のチップを払うバンドルを優先します。

<Warning>
  **0.001 SOLのSenderチップのみを提供してください。** Sender Maxはバンドルをすべての高速パスウェイでルーティングし、パスウェイチップを代わりに追加します — 個別のJitoチップを追加したり、Jitoチップアカウントを使用したり、`jito-region`を設定しないでください。それらは[基本的な
  バンドル](/ja/sending-transactions/send-bundle)にのみ適用されます。
</Warning>

### 必要条件

* **最大4つのトランザクション**、完全署名済み。それらは順次かつ全体的に実行されます — 何かが失敗した場合、全体のバンドルが拒否されます。
* **チップ**：少なくとも1つのトランザクションが指定された[Senderチップアカウント](/ja/sending-transactions/sender#requirements)に少なくとも**0.001 SOL**を転送する必要があります。これは単一トランザクションで使用されるのと同じSenderチップです — Heliusがあなたのために任意のパスウェイチップ（Jitoを含む）を追加しますので、個別のJitoチップを追加しないでください。
* **優先手数料**：各トランザクションは少なくとも**5,000ラメンツ**の[優先手数料](#priority-fees)を含む必要があります。

### 提出

`method: "sendBundle"`でSenderエンドポイントに送信します。フロントエンドにはグローバルHTTPSエンドポイントを使用し、バックエンドには任意の[リージョナルエンドポイント](#endpoints)を使用します — すべてのSenderリージョンがサポートされています。

<Tabs>
  <Tab title="@solana/web3.js">
    ```typescript [expandable] theme={"system"}
    import { 
      Connection, 
      TransactionMessage,
      VersionedTransaction,
      SystemProgram, 
      PublicKey,
      Keypair,
      LAMPORTS_PER_SOL,
      ComputeBudgetProgram
    } from '@solana/web3.js';
    import bs58 from 'bs58';

    const PRIV_B58 = 'Your Private Key';
    const HELIUS_API_KEY = 'Your API Key';
    const TIP_ACCOUNTS = [
      "4ACfpUFoaSD9bfPdeu6DBt89gB6ENTeHBXCAi87NhDEE",
      "D2L6yPZ2FmmmTKPgzaMKdhu6EWZcTpLy1Vhx8uvZe7NZ",
      "9bnz4RShgq1hAnLnZbP8kbgBg1kEmcJBYQq3gQbmnSta",
      "5VY91ws6B2hMmBFRsXkoAAdsPHBJwRfBht4DXox3xkwn",
      "2nyhqdwKcJZR2vcqCyrYsaPVdAnFoJjiksCXJ7hfEYgD",
      "2q5pghRs6arqVjRvT5gfgWfWcHWmw1ZuCzphgd5KfWGJ",
      "wyvPkWjVZz1M8fHQnMMCDTQDbkManefNNhweYk5WkcF",
      "3KCKozbAaF75qEU33jtzozcJ29yJuaLJTy2jFdzUY8bT",
      "4vieeGHPYPG2MmyPRcYjdiDmmhN3ww7hsFNap8pVN3Ey",
      "4TQLFNWK8AovT1gFvda5jfw2oJeRMKEmw7aH6MGBJ3or"
    ];

    async function sendBundleWithSenderMax(keypair: Keypair): Promise<string[]> {
      const connection = new Connection(
        `https://mainnet.helius-rpc.com/?api-key=${HELIUS_API_KEY}`
      );

      const { value: { blockhash } } = await connection.getLatestBlockhashAndContext('confirmed');

      const tipAccount = new PublicKey(TIP_ACCOUNTS[Math.floor(Math.random() * TIP_ACCOUNTS.length)]);

      // Transaction 1: your instructions + priority fee + the 0.001 SOL Sender tip
      const tx1 = new VersionedTransaction(
        new TransactionMessage({
          instructions: [
            ComputeBudgetProgram.setComputeUnitLimit({ units: 100_000 }),
            ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 200_000 }),
            // ... your instructions here ...
            SystemProgram.transfer({
              fromPubkey: keypair.publicKey,
              toPubkey: tipAccount,
              lamports: 0.001 * LAMPORTS_PER_SOL, // Sender tip — only one tx in the bundle needs it
            })
          ],
          payerKey: keypair.publicKey,
          recentBlockhash: blockhash,
        }).compileToV0Message()
      );
      tx1.sign([keypair]);

      // Transaction 2: more instructions — executes after tx1, atomically
      const tx2 = new VersionedTransaction(
        new TransactionMessage({
          instructions: [
            ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 200_000 }),
            // ... your instructions here ...
          ],
          payerKey: keypair.publicKey,
          recentBlockhash: blockhash,
        }).compileToV0Message()
      );
      tx2.sign([keypair]);

      // Serialize each fully-signed transaction (up to 4) to base64
      const bundle = [tx1, tx2].map((tx) => Buffer.from(tx.serialize()).toString('base64'));

      const response = await fetch('https://sender.helius-rpc.com/fast', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          jsonrpc: '2.0',
          id: Date.now().toString(),
          method: 'sendBundle',
          params: [bundle, { encoding: 'base64' }]
        })
      });

      const json = await response.json();
      if (json.error) {
        throw new Error(json.error.message);
      }

      // Track landing by each transaction's signature (see below)
      const signatures = [tx1, tx2].map((tx) => bs58.encode(tx.signatures[0]));
      console.log('Bundle submitted:', signatures);
      return signatures;
    }

    // Usage
    sendBundleWithSenderMax(Keypair.fromSecretKey(bs58.decode(PRIV_B58)));
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={"system"}
    curl "https://sender.helius-rpc.com/fast" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendBundle",
        "params": [
          [
            "BASE64_SIGNED_TX_1",
            "BASE64_SIGNED_TX_2"
          ],
          { "encoding": "base64" }
        ]
      }'
    ```
  </Tab>
</Tabs>

### 着地の追跡

バンドルを追跡する方法は、単一トランザクションを追跡する方法と同じです — 各トランザクションの署名が着地するのを見守ります。バンドルが全体的であるため、いずれかのトランザクションが確認されれば、全体のバンドルが着地したことを意味します。`getBundleStatuses`やバンドルIDを使用しません。

スタックに適した方法を使用してください：

* [`getSignatureStatuses`](/ja/api-reference/rpc/http/getsignaturestatuses)をポーリングして署名が確認されるまで待ちます。
* [LaserStream](/ja/laserstream)または[LaserStream WebSocket](/ja/rpc/websocket)に登録し、着地した署名を監視します。
* 着地した署名を公開するHeliusストリーミング製品である[Shred Delivery](/ja/shred-delivery/raw-shreds)などを使用します。

## ベストプラクティス

* **エンドポイント選択**：フロントエンドアプリには`https://sender.helius-rpc.com/fast`を使用し、CORS問題を回避します。バックエンドアプリには、サーバーに最も近いリージョナルHTTPエンドポイントを使用します。
* **動的チップ**：激しい競争のあるトランザクションには、0.001 SOLを超えるチップを設定し、チップバッファーでの優先度を向上させます。
* **接続ウォームアップ**：5秒以上のアイドル期間中に[`/ping`エンドポイント](/ja/sending-transactions/sender#connection-warming)を使用します。
* **優先手数料**：リアルタイムの推奨には、[Helius Priority Fee API](/ja/priority-fee-api)を使用してください。
* **リトライ**：`maxRetries: 0`を設定し、独自のリトライロジックを実装してください。

## 関連

<CardGroup cols={2}>
  <Card title="Sender 概要" icon="rocket" href="/ja/sending-transactions/sender">
    共有概念：エンドポイント、接続ウォーミング、レート制限、カスタムTPS。
  </Card>

  <Card title="SWQOS-Only Tier" icon="dollar-sign" href="/ja/sending-transactions/sender-swqos-only">
    単一パスでのコスト最適化低遅延送信（0.000005 SOL最低チップ）。
  </Card>

  <Card title="MEV Protect" icon="shield-halved" href="/ja/sending-transactions/mev-protect">
    サンドイッチ攻撃に統計的に関連するバリデーターを回避。
  </Card>
</CardGroup>
