Skip to content
This repository was archived by the owner on Nov 28, 2025. It is now read-only.

Commit e101e49

Browse files
committed
add svm docs
1 parent 99ad14b commit e101e49

File tree

10 files changed

+859
-457
lines changed

10 files changed

+859
-457
lines changed

pages/express-relay/contract-addresses.mdx

Lines changed: 190 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -3,136 +3,194 @@ import AddressTable from "../../components/AddressTable";
33

44
Express Relay is currently deployed on the following networks:
55

6-
<Tabs items={['Mainnet', 'Testnet']}>
7-
8-
<Tabs.Tab>
9-
Auction Server endpoint: https://pyth-express-relay-mainnet.asymmetric.re/
10-
11-
### Mode
12-
13-
**Network Details:**
14-
15-
<AddressTable
16-
explorer={"https://explorer.mode.network/address/$ADDRESS"}
17-
entries={[
18-
{
19-
name: "Express Relay",
20-
value: "0x5Cc070844E98F4ceC5f2fBE1592fB1ed73aB7b48",
21-
},
22-
{
23-
name: "Opportunity Adapter Factory",
24-
value: "0x59F78DE21a0b05d96Ae00c547BA951a3B905602f",
25-
},
26-
{
27-
name: "Network Id",
28-
value: "34443",
29-
},
30-
{
31-
name: "Chain Id",
32-
value: "mode",
33-
},
34-
{
35-
name: "Public RPC",
36-
value: "https://mainnet.mode.network/",
37-
},
38-
{
39-
name: "Wrapped ETH",
40-
value: "0x4200000000000000000000000000000000000006",
41-
},
42-
{
43-
name: "Permit2 Contract",
44-
value: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
45-
},
46-
]}
47-
/>
48-
49-
This list contains the addresses of the commonly used assets present in opportunities on the Mode network:
50-
51-
<AddressTable
52-
explorer={"https://explorer.mode.network/address/$ADDRESS"}
53-
entries={[
54-
{ name: "WETH", value: "0x4200000000000000000000000000000000000006" },
55-
{ name: "USDC", value: "0xd988097fb8612cc24eeC14542bC03424c656005f" },
56-
{ name: "USDT", value: "0xf0F161fDA2712DB8b566946122a5af183995e2eD" },
57-
{ name: "WBTC", value: "0xcDd475325D6F564d27247D1DddBb0DAc6fA0a5CF" },
58-
{ name: "ezETH", value: "0x2416092f143378750bb29b79eD961ab195CcEea5" },
59-
{ name: "STONE", value: "0x80137510979822322193FC997d400D5A6C747bf7" },
60-
{ name: "wrsETH", value: "0xe7903B1F75C534Dd8159b313d92cDCfbC62cB3Cd" },
61-
{ name: "weETH.mode", value: "0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A" },
62-
{ name: "M-BTC", value: "0x59889b7021243dB5B1e065385F918316cD90D46c" },
63-
{ name: "MODE", value: "0xDfc7C877a950e49D2610114102175A06C2e3167a" },
64-
]}
65-
/>
66-
67-
</Tabs.Tab>
68-
<Tabs.Tab>
69-
Auction Server endpoint: https://per-staging.dourolabs.app/
70-
71-
### Optimism Sepolia
72-
73-
**Network Details:**
74-
75-
<AddressTable
76-
explorer={"https://optimism-sepolia.blockscout.com/address/$ADDRESS"}
77-
entries={[
78-
{
79-
name: "Express Relay",
80-
value: "0x2F968931d1B7326d2875E9500980211dcc535eE5",
81-
},
82-
{
83-
name: "Opportunity Adapter Factory",
84-
value: "0xfA119693864b2F185742A409c66f04865c787754",
85-
},
86-
{
87-
name: "Network Id",
88-
value: "11155420",
89-
},
90-
{
91-
name: "Chain Id",
92-
value: "op_sepolia",
93-
},
94-
{
95-
name: "Public RPC",
96-
value: "https://sepolia.optimism.io/",
97-
},
98-
{
99-
name: "Wrapped ETH",
100-
value: "0x74A4A85C611679B73F402B36c0F84A7D2CcdFDa3",
101-
},
102-
{
103-
name: "Permit2 Contract",
104-
value: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
105-
},
106-
]}
107-
/>
108-
109-
This list contains the addresses of the commonly used assets present in opportunities on the Optimism Sepolia network:
110-
111-
<AddressTable
112-
explorer={"https://optimism-sepolia.blockscout.com/address/$ADDRESS"}
113-
entries={[
114-
{
115-
name: "BTC",
116-
value: "0x3745007F7C8DD8Bec89b3B35f33f13f58b008533 ",
117-
},
118-
{
119-
name: "USDC",
120-
value: "0x1e3d75F24296abBC7bd10D151F51d758bCE379Ef",
121-
},
122-
{
123-
name: "DOGE",
124-
value: "0x0160Ba0A02A910e27b4189040aC74febcc476687 ",
125-
},
126-
{
127-
name: "SOL",
128-
value: "0x193aD24BeeDfAf27f217395f52fA20C7A36D79B3",
129-
},
130-
{
131-
name: "PYTH",
132-
value: "0x20e0b5Ff7aa971dAd8f489112Ae009A70608d2D5",
133-
},
134-
]}
135-
/>
136-
137-
</Tabs.Tab>
6+
<Tabs items={['EVM', 'SVM']}>
7+
<Tabs.Tab>
8+
<Tabs items={['Mainnet', 'Testnet']}>
9+
10+
<Tabs.Tab>
11+
Auction Server endpoint: https://pyth-express-relay-mainnet.asymmetric.re/
12+
13+
### Mode
14+
15+
**Network Details:**
16+
17+
<AddressTable
18+
explorer={"https://explorer.mode.network/address/$ADDRESS"}
19+
entries={[
20+
{
21+
name: "Express Relay",
22+
value: "0x5Cc070844E98F4ceC5f2fBE1592fB1ed73aB7b48",
23+
},
24+
{
25+
name: "Opportunity Adapter Factory",
26+
value: "0x59F78DE21a0b05d96Ae00c547BA951a3B905602f",
27+
},
28+
{
29+
name: "Network Id",
30+
value: "34443",
31+
},
32+
{
33+
name: "Chain Id",
34+
value: "mode",
35+
},
36+
{
37+
name: "Public RPC",
38+
value: "https://mainnet.mode.network/",
39+
},
40+
{
41+
name: "Wrapped ETH",
42+
value: "0x4200000000000000000000000000000000000006",
43+
},
44+
{
45+
name: "Permit2 Contract",
46+
value: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
47+
},
48+
]}
49+
/>
50+
51+
This list contains the addresses of the commonly used assets present in opportunities on the Mode network:
52+
53+
<AddressTable
54+
explorer={"https://explorer.mode.network/address/$ADDRESS"}
55+
entries={[
56+
{ name: "WETH", value: "0x4200000000000000000000000000000000000006" },
57+
{ name: "USDC", value: "0xd988097fb8612cc24eeC14542bC03424c656005f" },
58+
{ name: "USDT", value: "0xf0F161fDA2712DB8b566946122a5af183995e2eD" },
59+
{ name: "WBTC", value: "0xcDd475325D6F564d27247D1DddBb0DAc6fA0a5CF" },
60+
{ name: "ezETH", value: "0x2416092f143378750bb29b79eD961ab195CcEea5" },
61+
{ name: "STONE", value: "0x80137510979822322193FC997d400D5A6C747bf7" },
62+
{ name: "wrsETH", value: "0xe7903B1F75C534Dd8159b313d92cDCfbC62cB3Cd" },
63+
{ name: "weETH.mode", value: "0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A" },
64+
{ name: "M-BTC", value: "0x59889b7021243dB5B1e065385F918316cD90D46c" },
65+
{ name: "MODE", value: "0xDfc7C877a950e49D2610114102175A06C2e3167a" },
66+
]}
67+
/>
68+
69+
</Tabs.Tab>
70+
<Tabs.Tab>
71+
Auction Server endpoint: https://per-staging.dourolabs.app/
72+
73+
### Optimism Sepolia
74+
75+
**Network Details:**
76+
77+
<AddressTable
78+
explorer={"https://optimism-sepolia.blockscout.com/address/$ADDRESS"}
79+
entries={[
80+
{
81+
name: "Express Relay",
82+
value: "0x2F968931d1B7326d2875E9500980211dcc535eE5",
83+
},
84+
{
85+
name: "Opportunity Adapter Factory",
86+
value: "0xfA119693864b2F185742A409c66f04865c787754",
87+
},
88+
{
89+
name: "Network Id",
90+
value: "11155420",
91+
},
92+
{
93+
name: "Chain Id",
94+
value: "op_sepolia",
95+
},
96+
{
97+
name: "Public RPC",
98+
value: "https://sepolia.optimism.io/",
99+
},
100+
{
101+
name: "Wrapped ETH",
102+
value: "0x74A4A85C611679B73F402B36c0F84A7D2CcdFDa3",
103+
},
104+
{
105+
name: "Permit2 Contract",
106+
value: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
107+
},
108+
]}
109+
/>
110+
111+
This list contains the addresses of the commonly used assets present in opportunities on the Optimism Sepolia network:
112+
113+
<AddressTable
114+
explorer={"https://optimism-sepolia.blockscout.com/address/$ADDRESS"}
115+
entries={[
116+
{
117+
name: "BTC",
118+
value: "0x3745007F7C8DD8Bec89b3B35f33f13f58b008533 ",
119+
},
120+
{
121+
name: "USDC",
122+
value: "0x1e3d75F24296abBC7bd10D151F51d758bCE379Ef",
123+
},
124+
{
125+
name: "DOGE",
126+
value: "0x0160Ba0A02A910e27b4189040aC74febcc476687 ",
127+
},
128+
{
129+
name: "SOL",
130+
value: "0x193aD24BeeDfAf27f217395f52fA20C7A36D79B3",
131+
},
132+
{
133+
name: "PYTH",
134+
value: "0x20e0b5Ff7aa971dAd8f489112Ae009A70608d2D5",
135+
},
136+
]}
137+
/>
138+
139+
</Tabs.Tab>
140+
</Tabs>
141+
</Tabs.Tab>
142+
143+
<Tabs.Tab>
144+
<Tabs items={['Testing']}>
145+
146+
<Tabs.Tab>
147+
Auction Server endpoint: https://per-staging.dourolabs.app/
148+
149+
### Solana
150+
151+
**Network Details:**
152+
153+
<AddressTable
154+
explorer={"https://solscan.io/account/$ADDRESS"}
155+
entries={[
156+
{
157+
name: "Express Relay Program",
158+
value: "PytERJFhAKuNNuaiXkApLfWzwNwSNDACpigT3LwQfou",
159+
},
160+
{
161+
name: "Limo Limit Order Program",
162+
value: "LiMoM9rMhrdYrfzUCxQppvxCSG1FcrUK9G8uLq4A1GF",
163+
},
164+
{
165+
name: "Chain Id",
166+
value: "development-solana",
167+
},
168+
{
169+
name: "Public RPC",
170+
value: "https://api.mainnet-beta.solana.com",
171+
},
172+
{
173+
name: "Limo Global Order Config",
174+
value: "TeStcUQMmECYEtdeXo9cXpktQWaGe4bhJ7zxAUMzB2X",
175+
},
176+
{
177+
name: "Testing Frontend",
178+
value: "https://wip-limit-orders.kamino-webapp.pages.dev/limit-order?VITE_LIMIT_ORDERS_REAL_WSOL",
179+
}
180+
]}
181+
/>
182+
183+
This list contains the addresses of the commonly used assets present in opportunities on `development-solana`:
184+
185+
<AddressTable
186+
explorer={"https://solscan.io/account/$ADDRESS"}
187+
entries={[
188+
{ name: "WSOL", value: "So11111111111111111111111111111111111111112" },
189+
{ name: "USDC", value: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" },
190+
]}
191+
/>
192+
193+
</Tabs.Tab>
194+
</Tabs>
195+
</Tabs.Tab>
138196
</Tabs>

pages/express-relay/integrate-as-protocol.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ To integrate with Express Relay, your protocol's contract must check if Express
1717
### Install the Express Relay SDK
1818

1919
Pyth provides a [Solidity SDK](https://www.npmjs.com/package/@pythnetwork/express-relay-sdk-solidity) to help developers integrate Express Relay into their DeFi protocol.
20-
The SDK exposes [`IExpressRelay`](https://github.com/pyth-network/pyth-crosschain/blob/main/express_relay/sdk/solidity/IExpressRelay.sol) and [`IExpressRelayFeeReceiver`](https://github.com/pyth-network/pyth-crosschain/blob/main/express_relay/sdk/solidity/IExpressRelayFeeReceiver.sol) interfaces to interact with Express Relay.
20+
The SDK exposes [`IExpressRelay`](https://github.com/pyth-network/per/tree/main/sdk/solidity/IExpressRelay.sol) and [`IExpressRelayFeeReceiver`](https://github.com/pyth-network/per/tree/main/sdk/solidity/IExpressRelayFeeReceiver.sol) interfaces to interact with Express Relay.
2121

2222
<Tabs items={['Hardhat', 'Foundry']}>
2323
<Tabs.Tab>
@@ -49,8 +49,8 @@ Then add the following line to `remappings.txt` file:
4949

5050
The following steps show how to modify your protocol's contract to verify if the current transaction is permissioned by Express Relay and to receive the auction proceeds.
5151

52-
1. Call the [`isPermissioned`](https://github.com/pyth-network/pyth-crosschain/blob/main/express_relay/sdk/solidity/IExpressRelay.sol#L10C14-L10C28) method from `IExpressRelay` interface to make sure the current transaction is permissioned by Express Relay.
53-
1. Implement the [`IExpressRelayFeeReceiver`](https://github.com/pyth-network/pyth-crosschain/blob/main/express_relay/sdk/solidity/IExpressRelayFeeReceiver.sol#L4) interface to **receive** auction proceeds.
52+
1. Call the [`isPermissioned`](https://github.com/pyth-network/per/tree/main/sdk/solidity/IExpressRelay.sol#L10C14-L10C28) method from `IExpressRelay` interface to make sure the current transaction is permissioned by Express Relay.
53+
1. Implement the [`IExpressRelayFeeReceiver`](https://github.com/pyth-network/per/tree/main/sdk/solidity/IExpressRelayFeeReceiver.sol#L4) interface to **receive** auction proceeds.
5454

5555
#### 1. Verify Permissioning
5656

@@ -211,16 +211,16 @@ The JSON payload should contain opportunities in the following format:
211211
Each protocol integrated with Express Relay must actively monitor for new opportunities.
212212
Protocols can do this by indexing the chain, listening to protocol events, or querying protocol state through an RPC provider.
213213

214-
Check the [`monitor.ts`](https://github.com/pyth-network/pyth-crosschain/blob/main/express_relay/examples/easy_lend/src/monitor.ts) script,
215-
which fetches opportunities for the below-mentioned [Easy Lend](https://github.com/pyth-network/pyth-crosschain/tree/main/express_relay/examples/easy_lend) example and exposes them to Express Relay for auction.
214+
Check the [`monitor.ts`](https://github.com/pyth-network/per/tree/main/examples/easy_lend/src/monitor.ts) script,
215+
which fetches opportunities for the below-mentioned [Easy Lend](https://github.com/pyth-network/per/tree/main/examples/easy_lend) example and exposes them to Express Relay for auction.
216216

217217
## Additional Resources
218218

219219
You may find these additional resources helpful for integrating Express Relay as a protocol.
220220

221221
### Example Application
222222

223-
[Easy Lend](https://github.com/pyth-network/pyth-crosschain/tree/main/express_relay/examples/easy_lend) is a dummy lending protocol contract that allows users to borrow and lend assets.
223+
[Easy Lend](https://github.com/pyth-network/per/tree/main/examples/easy_lend) is a dummy lending protocol contract that allows users to borrow and lend assets.
224224
This lending protocol contract is updated to use Express Relay.
225225

226226
### Contract Address

0 commit comments

Comments
 (0)