diff --git a/docs/images/Jitolabs_Logo_Green.svg b/docs/images/Jitolabs_Logo_Green.svg
new file mode 100644
index 0000000..5e810b7
--- /dev/null
+++ b/docs/images/Jitolabs_Logo_Green.svg
@@ -0,0 +1,10 @@
+
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 1af6708..560627a 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -3,4 +3,5 @@ sphinx-rtd-theme==2.0.0
docutils>=0.19
myst-parser==4.0.0
sphinx-fontawesome==0.0.6
+sphinx-copybutton==0.5.2
#sphinxemoji==0.3.0
diff --git a/docs/source/conf.py b/docs/source/conf.py
index e8a1c93..d2a6853 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -19,6 +19,7 @@
'sphinx.ext.intersphinx',
'myst_parser',
'sphinx_fontawesome',
+ 'sphinx_copybutton',
# 'sphinxemoji.sphinxemoji',
]
diff --git a/docs/source/howdoessytemwork.md b/docs/source/howdoessytemwork.md
index 13a44f3..8b13789 100644
--- a/docs/source/howdoessytemwork.md
+++ b/docs/source/howdoessytemwork.md
@@ -1,6 +1 @@
-## How does the system work
-What do bundles do?
-How do they work?
-What is the auction?
-How does it roughly work at something between 30,000 foot view and ground floor?
diff --git a/docs/source/index.md b/docs/source/index.md
index 34c7eb3..319db02 100644
--- a/docs/source/index.md
+++ b/docs/source/index.md
@@ -1,3 +1,4 @@
+
# About Jito
Developing high-performance systems to enhance Solana's scalability and maximize rewards for validators and stakers
@@ -11,12 +12,19 @@ Jito Labs develops high-performance MEV infrastructure for Solana with the follo
3. Maximizing MEV returns to users and stakers π
```{toctree}
-:maxdepth: 2
+:maxdepth: 1
:hidden:
Intro
β‘ Low Latency Transaction Sending
+ ```{toctree}
+ :maxdepth: 2
+ :hidden:
+
+ System Overview
+ API Documentation
+ Tips
β€ Low Latency Transaction Feed (ShreadStream)
diff --git a/docs/source/lowlatencytxnfeed.md b/docs/source/lowlatencytxnfeed.md
index c11a8f3..67f2137 100644
--- a/docs/source/lowlatencytxnfeed.md
+++ b/docs/source/lowlatencytxnfeed.md
@@ -44,7 +44,7 @@ The proxy client connects to the Jito Block Engine and authenticates using the p
View logs with `docker logs -f jito-shredstream-proxy`
-### Host Networking (Recommended)
+### π³ Host Networking (Recommended)
This exposes all ports, bypassing Docker NAT.
@@ -62,7 +62,7 @@ docker run -d \
jitolabs/jito-shredstream-proxy shredstream
```
-### Bridge Networking
+### π Bridge Networking
Use bridge networking in environments where Docker host networking is unavailable. This setup requires manual exposure of each destination. For shred listeners running locally on the Docker host, use Docker's bridge IP (typically `172.17.0.1`). For non-local endpoints, use their regular IP addresses. Note that Docker's bridge IP can vary, so confirm it by running: `ip -brief address show dev docker0`.
@@ -82,7 +82,8 @@ docker run -d \
jitolabs/jito-shredstream-proxy shredstream
```
-### Running Natively
+### π¦Ύ Running Natively
+
```bash
git clone https://github.com/jito-labs/shredstream-proxy.git --recurse-submodules
@@ -94,29 +95,17 @@ RUST_LOG=info cargo run --release --bin jito-shredstream-proxy -- shredstream \
--dest-ip-ports 127.0.0.1:8001,10.0.0.1:8001
```
-### Firewall Configuration
+### π Firewall Configuration
If you use a firewall, allow access to the following IPs:
-**Amsterdam**
-- 74.118.140.240
-- 202.8.8.174
-
-**Frankfurt**
-- 145.40.93.84
-- 145.40.93.41
-
-**New York**
-- 141.98.216.96
-- 64.130.48.56
-
-**SLC**
-- 64.130.53.8
-- 64.130.53.57
-
-**Tokyo**
-- 202.8.9.160
-- 202.8.9.19
+| Location | IP Addresses |
+|-----------------|--------------------------------------------------|
+| π³π± Amsterdam | `74.118.140.240`, `202.8.8.174` |
+| π©πͺ Frankfurt | `145.40.93.84`, `145.40.93.41` |
+| πΊπΈ New York | `141.98.216.96`, `64.130.48.56` |
+| πΊπΈ Salt Lake City | `64.130.53.8`, `64.130.53.57` |
+| π―π΅ Tokyo | `202.8.9.160`, `202.8.9.19` |
## Troubleshooting
@@ -126,3 +115,4 @@ To verify, query the number of packets received before and after configuring Shr
```sql
SELECT shred_count FROM "shred_fetch" WHERE time > now() - 1h
+```
diff --git a/docs/source/lowlatencytxnsend.md b/docs/source/lowlatencytxnsend.md
index 018d9c3..cd3fdcb 100644
--- a/docs/source/lowlatencytxnsend.md
+++ b/docs/source/lowlatencytxnsend.md
@@ -6,7 +6,7 @@ Jito provides Solana MEV users with superior transaction execution through fast
## System Overview
-How does the system work?
+### π How does the system work?
- Jito provides a modified Solana validator client called J- ito-Solana that enables MEV extraction and rewards
- It uses a block engine to simulate and process MEV trades
@@ -14,7 +14,7 @@ How does the system work?
- Validators running Jito-Solana can receive MEV rewards in addition to regular staking rewards
- JitoSOL is a liquid staking token that allows users to stake SOL and receive MEV rewards
-What do Bundles do?
+### πΌ What do Bundles do?
- Bundles are groups of transactions packaged together
- They allow traders to propose profitable transaction orderings
@@ -22,7 +22,7 @@ What do Bundles do?
- They can include tips to validators for priority treatment
- Bundles enable complex MEV strategies like atomic arbitrage
-How do Bundles work?
+### π¬ How do Bundles work?
- Traders submit bundle bids to block engines
- Block engines simulate bundles to determine the most profitable combinations
@@ -30,7 +30,7 @@ How do Bundles work?
- Validators execute bundles atomically and collect tips
- MEV rewards from bundles are distributed to validators and stakers
-What is the auction?
+### βοΈ What is the auction?
- Traders submit bids for bundle execution in an auction process
- Block engines run simulations to determine highest value bundles
@@ -39,19 +39,25 @@ What is the auction?
- It reduces network spam and congestion from MEV trading
- Auction proceeds are distributed to validators and stakers as rewards
+---
+
## API
You can send JSON-RPC requests to any Block Engine using the following URLs. To route to a specific region, specify the desired region:
-- **Mainnet:** `https://mainnet.block-engine.jito.wtf`
-- **Amsterdam:** `https://amsterdam.mainnet.block-engine.jito.wtf`
-- **Frankfurt:** `https://frankfurt.mainnet.block-engine.jito.wtf`
-- **New York:** `https://ny.mainnet.block-engine.jito.wtf`
-- **Tokyo:** `https://tokyo.mainnet.block-engine.jito.wtf`
-- **Salt Lake City:** `https://slc.mainnet.block-engine.jito.wtf`
+| Location | URL |
+|-----------------|---------------------------------------------------------|
+| π π π **Mainnet** | `https://mainnet.block-engine.jito.wtf` |
+| π³π± **Amsterdam** | `https://amsterdam.mainnet.block-engine.jito.wtf` |
+| π©πͺ **Frankfurt** | `https://frankfurt.mainnet.block-engine.jito.wtf` |
+| πΊπΈ **New York** | `https://ny.mainnet.block-engine.jito.wtf` |
+| π―π΅ **Tokyo** | `https://tokyo.mainnet.block-engine.jito.wtf` |
+| πΊπΈ **Salt Lake City** | `https://slc.mainnet.block-engine.jito.wtf` |
+
-### Transactions
+### π¨ Transactions(`/api/v1/transactions`)
For single transaction-related methods, use the URL path `/api/v1/transactions`
+
For example: `https://mainnet.block-engine.jito.wtf/api/v1/transactions`
#### sendTransaction
@@ -117,7 +123,7 @@ Do we offer mev-protection here?
Example: api/v1/bundles?uuid=
-### Bundles
+### πΌ Bundles (`/api/v1/bundles`)
Bundles are a list of up to 5 transactions that execute sequentially and atomically, ensuring an all-or-nothing outcome. Hereβs what that means:
@@ -129,7 +135,7 @@ Bundles are a list of up to 5 transactions that execute sequentially and atomica
This guarantees that all transactions in a bundle are executed in sequence and either all succeed or none are executed.
-For bundle-related methods, use the URL path /api/v1/bundles. Refer to the documentation to see the available JSON-RPC endpoints for bundles.
+For bundle-related methods, use the URL path `/api/v1/bundles`. Refer to the documentation to see the available JSON-RPC endpoints for bundles.
#### sendBundle
@@ -405,12 +411,11 @@ curl https://mainnet.block-engine.jito.wtf/api/v1/bundles -X POST -H "Content-Ty
}
```
-
-
## Tips
-### Tip Amount
+### πͺ Tip Amount
+#### sendTransaction
When using `sendTransaction`, it is recommended to use a 70/30 split between priority fee and jito tip.
Example:
@@ -424,14 +429,16 @@ So, when using sendTransaction:
You would allocate 0.7 SOL as the priority fee.
And 0.3 SOL as the Jito tip.
-
+#### sendBundle
When using `sendBundle`, only the Jito tip matters.
-### Get Tip Info
-REST API endpoint showing most recent tip amounts: http://bundles-api-rest.jito.wtf/api/v1/bundles/tip_floor
+### πΈ Get Tip Information
+REST API endpoint showing most recent tip amounts:
+`http://bundles-api-rest.jito.wtf/api/v1/bundles/tip_floor`
-WebSocket showing tip amounts: ws://bundles-api-rest.jito.wtf/api/v1/bundles/tip_stream
+WebSocket showing tip amounts:
+`ws://bundles-api-rest.jito.wtf/api/v1/bundles/tip_stream`
## Rate limits
What are the defaults?
diff --git a/docs/source/prodandaudience.md b/docs/source/prodandaudience.md
index e0c2aa3..26a222e 100644
--- a/docs/source/prodandaudience.md
+++ b/docs/source/prodandaudience.md
@@ -4,8 +4,8 @@
Jito provides specialized solutions tailored to the needs of Solana MEV users:
-- Fast Transaction Sending: Essential for any Solana MEV user requiring rapid and reliable transaction execution.
-- Bundles: Offers MEV protection, fast transaction landing, support for multiple transactions, and revert protection, making it ideal for developers of Telegram bots and automated trading systems.
-- Shredstream: Ensures minimal latency for receiving shreds to any RPC or validator on the network, saving hundreds of milliseconds during trading on Solana. It also provides a redundant shred path for servers in remote locations, enhancing reliability.
+- πͺοΈ **Fast Transaction Sending:** Essential for any Solana MEV user requiring rapid and reliable transaction execution.
+- πΌ **Bundles:** Offers MEV protection, fast transaction landing, support for multiple transactions, and revert protection, making it ideal for developers of Telegram bots and automated trading systems.
+- 𧲠**Shredstream:** Ensures minimal latency for receiving shreds to any RPC or validator on the network, saving hundreds of milliseconds during trading on Solana. It also provides a redundant shred path for servers in remote locations, enhancing reliability.
These use cases offer a competitive edge to traders, bot developers, and anyone seeking robust MEV protection in the Solana ecosystem.