# Basics

## Choose an Interface

NextBlock exposes multiple interfaces depending on what you are building:

* **HTTP**: easiest to integrate from any language using REST requests
* **gRPC**: recommended general-purpose interface if you want the full submission feature set
* **QUIC**: lowest-latency submission path for advanced traders sending raw signed transaction bytes
* **TX Stream**: separate real-time stream of transactions for monitoring and trading strategies

Use **gRPC** or **HTTP** if you need submission options such as front-running protection, revert-on-fail, disable-retries, or bundle submission.

Use **QUIC** if you want the smallest possible transport overhead and only need to send raw signed transaction bytes. QUIC does **not** support the extra gRPC submission flags or the batch submission endpoint.

## gRPC

We recommend gRPC for most direct integrations with the main NextBlock API. The proto definitions are available in [`nextblock-proto`](https://github.com/nextblock-ag/nextblock-proto).

## Tip Floor API

The tip floor API returns landed tip percentiles from the last 5 minutes. You can use it to adjust your tip amounts based on current network conditions.

All tip floor values are returned in **SOL**, not lamports.

```json
{
  "time": "2025-05-13T10:41:45Z",
  "landed_tips_25th_percentile": 0.0011,
  "landed_tips_50th_percentile": 0.005000001,
  "landed_tips_75th_percentile": 0.01555,
  "landed_tips_95th_percentile": 0.09339195639999975,
  "landed_tips_99th_percentile": 0.4846427910400001,
  "ema_landed_tips_50th_percentile": 0.005989477267191758
}
```
