> For the complete documentation index, see [llms.txt](https://astralane.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://astralane.gitbook.io/docs/low-latency/postpacks.md).

# Postpacks

The fastest transaction feed on Solana.

### What are postpacks?

A post-pack is the leader's notification that a transaction has passed the point of no return in its execution path. The transaction hasn't been executed yet, but its account locks are already held, so no conflicting transaction can be ordered ahead of it. Under normal conditions, it can no longer be front-run. Post-packs are currently the fastest way to learn that a transaction is being include in a Solana block.

<table><thead><tr><th width="162.29296875"></th><th>Postpacks/Preconfs</th><th>Shreds</th><th width="199.65234375">Geyser (Yellowstone gRPC)</th></tr></thead><tbody><tr><td><strong>Emitted at</strong></td><td>Banking stage · Scheduled, account locks held · Pre-entry, pre-shred</td><td>Broadcast stage · Recorded into entries · Shredded</td><td>Replay stage · Shreds received, tx replayed by RPC node</td></tr><tr><td>Contents</td><td>Raw tx + slot</td><td>Block entries · Raw txs in block order</td><td>Tx + metadata · Logs, balances, status</td></tr><tr><td>Execution Result</td><td>Absent</td><td>Absent</td><td>Present</td></tr><tr><td>Tx index in the block</td><td>Absent</td><td>Present</td><td>Present</td></tr><tr><td>Landing probability</td><td>Relatively high · Front-run proof</td><td>High</td><td>High</td></tr><tr><td>Latency</td><td>Lowest · ~10–50 ms ahead of Geyser</td><td>Low · ~6–12 ms ahead of Geyser (P50)</td><td>Highest · Baseline</td></tr></tbody></table>

### Connection

Endpoint addresses

* Frankfurt: [http://fr.relay.astralane.io:30001](http://fr.relay.astralane.io:30001/)
* Amsterdam: [http://ams.relay.astralane.io:30001](http://ams.relay.astralane.io:3001/)
* New York: [http://ny.relay.astralane.io:30001](http://ny.relay.astralane.io:30001/)
* Singapore: [http://sg.relay.astralane.io:30001](http://sg.relay.astralane.io:30001/)
* Tokyo: [http://jp.relay.astralane.io:30001](http://jp.relay.astralane.io:30001/)

Auth: use `x-token` header with your API key to connect.

Protocol: same as original harmonic preconfs proto: <https://github.com/Astralane/postpack-conf-client/blob/main/protos/preconf.proto>

Use our example client lib to get started: <https://github.com/Astralane/postpack-conf-client>

{% hint style="info" %}
You need to get whitelisted before you can use your API key for preconfs. Create ticket on [Discord](https://discord.gg/2UfWGtUDtN) to request access.&#x20;
{% endhint %}

### Pricing

PostpackPay is a separate HTTP service used only for registering tips - not for landing transactions.\
You send:

* signed transaction;
* slot that triggered the transaction.

**Request format:**

`POST` to your endpoint URL, JSON body (array):

```http
...
POST /postpack-pay?api-key=<your-api-key> HTTP/1.1
Host: edge.astralane.io
Content-Type: application/json

[{ "transaction": "<base64 bincode-encoded signed tx>", "slot": 123456789 }]
...
```

**Response format:**

```json
{ "accepted": ["<your transaction signature>"] }
```

You can land your transactions anywhere — Iris or any other provider. That part is entirely up to you.\\

{% hint style="info" icon="info" %}
A tip only counts once a copy of that transaction is sent to **PostpackPay** over HTTP. Landing it somewhere doesn't register it — not even through Astralane's own services.
{% endhint %}

#### How to set up tipping&#x20;

The best use of such model is integrating tips into your searcher code:

```
// main searcher logic
...
if astralane_postpack_was_a_source_signal() {
    land_transaction()              // any provider
    send_tx_copy_to_postpackpay()     // registers the tip
}
```

#### Tipping Address

* astgCFnATW3DGN7Pnfj51w3BdVy2TGeMoK5eV7bt4x1
* astk6J92kctKFznK4SD3jaKCSTKftSPUV4W2r529HUx
* ast5CxenCFBBv99pf8hhJSTG7V3oeCTLqpRrcLYj9Bs
* asteY6wTGTTQ8amUUa7xRxf4Nc3kGV9ritjX6yJLFi3

#### ShredPay endpoints

Send your [POST request](#how-your-tips-get-counted) to the endpoint closest to your infra:

<table><thead><tr><th width="272.22222900390625">Region</th><th>HTTP Endpoint</th></tr></thead><tbody><tr><td>Global Edge Endpoint</td><td><a href="https://edge.astralane.io/postpack-pay?api-key=xxxx">https://edge.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>Frankfurt (Recommended)</td><td><a href="http://fr.gateway.astralane.io/postpack-pay?api-key=xxxx">http://fr.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>Frankfurt</td><td><a href="http://fr2.gateway.astralane.io/postpack-pay?api-key=xxxx">http://fr2.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>San Francisco</td><td><a href="http://la.gateway.astralane.io/postpack-pay?api-key=xxxx">http://la.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>Tokyo</td><td><a href="http://jp.gateway.astralane.io/postpack-pay?api-key=xxxx">http://jp.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>New York</td><td><a href="http://ny.gateway.astralane.io/postpack-pay?api-key=xxxx">http://ny.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>Amsterdam (Recommended)</td><td><a href="http://ams.gateway.astralane.io/postpack-pay?api-key=xxxx">http://ams.gateway.astralane.io/postpack-pay?api-key=xxx</a></td></tr><tr><td>Amsterdam 2</td><td><a href="http://ams2.gateway.astralane.io/postpack-pay?api-key=xxxx">http://ams2.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>Limburg</td><td><a href="http://lim.gateway.astralane.io/postpack-pay?api-key=xxxx">http://lim.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>Singapore</td><td><a href="http://sg.gateway.astralane.io/postpack-pay?api-key=xxxx">http://sg.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>Lithuania</td><td><a href="http://lit.gateway.astralane.io/postpack-pay?api-key=xxxx">http://lit.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr><tr><td>London</td><td><a href="http://lit.gateway.astralane.io/postpack-pay?api-key=xxxx">http://lon.gateway.astralane.io/postpack-pay?api-key=xxxx</a></td></tr></tbody></table>
