# Interstate ## Validator Quickstart ### Benefits Like flashbots & mev-boost, interstate offers a way to earn additional rewards for validators without having to put up any capital and minimal risk. It is almost a free lunch :). We expect validator rewards to be in the 0.2% range with preconfirmation tips and token incentives. We also offer an incentivized testnet program which can offer much more in rewards. As interstate develops, you can expect substantially higher rewards for participating in the network. ### Risks * Lower MEV-Boost Rewards * Validators currently earn \~1.83% from Flashbots / MEV-Boost. The risk of allowing preconfirmations on your validator is that if the preconfirmation network misprices the preconfirmation, space in the block is sold for less than its worth and the block builder has less space to operate with, causing them to create blocks that are less mev-valuable than before. * Interstate constantly monitors block rewards and ensures the proposer is strictly profitable, removing this constraint * Missed Blocks * We are audited by Spearbit and other leading auditors to ensure code correctness. If there is a bug in interstate code, it could cause you to miss a block, getting penalized by Ethereum network * This is unlikely however, Interstate has an insurance fund to compensate the proposer in this case. Please reach out for details. Please note this is not a binding legal agreement unless one has been formally made with you. * VPC Exposure * We are audited by Spearbit and other leading auditors to ensure code correctness. * A code bug could enable an outside entity to gain control of your vpc. ## FAQs ### What is Interstate? Interstate is an all-in-one onchain trading platform built so you never need to switch between apps. We bring together a full suite of integrations, letting you trade the most in-demand assets from a single interface. ### Is Interstate a wallet too? Absolutely — and it goes beyond that. Interstate is a hybrid crypto trading app and wallet rolled into one. We currently support Solana, with additional chains on the way. Your wallet is protected by top-tier security infrastructure, meaning your assets stay under your control at all times — no exceptions. ### How does Interstate keep my funds secure? Interstate employs best-in-class security practices including non-custodial architecture, robust key management, and end-to-end encryption. For more details on our wallet infrastructure, check out our partner [Turnkey](https://turnkey.com). ### Can I purchase crypto directly on Interstate? Yes. Through our integration with Coinbase, you can purchase up to $500 in crypto per week without KYC requirements. ### Can I earn yield on my holdings? Interstate makes it easy to earn passive income on your assets. We offer up to 15% APY with instant withdrawals available at any time. For more information, visit our partner [Marginfi](https://marginfi.com). ### Is Interstate decentralized? Yes. Interstate connects directly with decentralized protocols and applications. All of your transactions happen fully onchain, and your funds remain in your custody at all times. *** ### Bundle Checker A slot (or block) can process multiple buy transactions at the same time. In a bundle, several buys execute as separate transactions but land within the same block, often just milliseconds apart. While some platforms offer basic warnings, these tend to be too vague to distinguish genuine coordinated buys from normal market activity. To detect bundles accurately, we apply two core rules: #### 1. Four or more transactions in the same block When at least four transactions occur within a single block, they get flagged as a potential bundle. #### 2. Filtering out non-bundled wallets If a wallet participates in a detected bundle but its next transaction falls outside of a bundle, it gets excluded from detection. This removes noise from traders who aren't consistently bundling. While no bundle detection method is perfect, this approach gives you a strong signal for identifying which transactions are likely part of a coordinated effort. Some false positives or missed bundles are unavoidable. #### How Interstate's bundle detection stands apart Other tools like Trench Radar take a different approach, and there are important distinctions: **Unrestricted detection window** — Interstate identifies bundles whenever they happen, with no time limit. Other tools often rely on flags that only catch transactions in the first few blocks after a token launches. Bundles can occur at any point, not just at creation, and they don't have to originate from the deployer or team. **Smarter filtering** — We cut down on false positives by excluding wallets that don't show a consistent bundling pattern. While our bundled percentage may look different from other tools, it provides a more accurate picture of the actual risk involved in trading a specific token. ## Intro Interstate currently offers: * Inclusion Preconfirmations * Execution Preconfirmations * Other Proposer Commitments ### Inclusion Preconfirmation A preconfirmation is a sale of one or more transaction in an upcoming ethereum block prior to the block occuring. The proposer commitment is backed by restaking netwoks like [Karak](https://karak.network) and [Eigenlayer](https://eigenlayer.xyz). The commitment is stake backed, and slashed stake will be used to compensate the requester if their preconfirmation is not honored. Space in the block can be bought 1 - \~32 slots in advance (the rough size of the ethereum proposer lookahead). We expect 90% of validators to run a preconfirmation sidecar (same as 90% validators today run flashbots) and offer preconfirmations. Pricing: The preconfirmation buyer can expect to pay 1-10% of gas in addition gas fees to buy an inclusion preconfirmation. Inclusion preconfirmations give a weaker guarantee than execution preconfirmations in that the transaction may revert if the gas limit of the block is exceeded, or if there is a revert on the transction. So if you buy an inclusion preconfirmation, your transaction will be included in the block but may revert. Execution preconfirmations are guaranteed to not revert. ### Execution Preconfirmation (coming soon) An execution preconfirmation is guaranteed to be included in the upcoming block and guarantees the transaction will not revert. Essentially the validator is selling the txs in the block one by one, with the top of the block being sold first. This gives the preconfirmation buyer the guarantee that their transaction will not revert. ### Other Proposer Commitments (coming soon) These allow the proposer to commit to generic attestations. ## Example This is an example page. ## The Outpost ### Ranks & Rewards Claim up to **45% cashback** on every trade. Head over to [Interstate.so](https://interstate.so) and complete the required steps to start earning your cashback right away. *** ### Rewards #### Gold Gold is the foundation of the Outpost reward system. You accumulate Gold with every action you take on the platform — every trade executed and every quest completed adds to your balance. * **Trade to earn** — Receive Gold for every dollar in volume you generate. * **Daily streaks** — Keep your trading streak alive for daily Gold bonuses. The longer your streak, the larger the reward. * **Rank progression** — Climbing through the ranks earns you Gold payouts and unlocks higher Gold multipliers. * **Quests** — Complete daily and seasonal quests to collect additional Gold. * **Special events** — Watch for limited-time quests that award bonus Gold and multiplier boosts. #### Solana Solana rewards come from two sources: Cashback and the Referral System. As you advance through the Outpost ranks and engage with quests, your cashback can reach up to **45%**, and your referral fee share can climb as high as **50%**. *** ### Outpost Ranks The Outpost is built around progression. Each rank you reach unlocks larger multipliers, better rewards, and exclusive perks. | Rank | Cashback | Gold Multiplier | | ------------- | -------- | --------------- | | **Degen** | 10% | 1x | | **Warrior** | 15% | 2x | | **Gladiator** | 20% | 2.5x | | **Commander** | 25% | 3x | | **Titan** | 35% | 4x | ## Support This page provides clear instructions to join our Telegram group and get help from the team. Follow each step carefully to avoid scams and ensure a smooth experience. **Join our Telegram:** [Join Here](https://t.me/+DDXGrsJoe3szYTAx) :::warning In trading groups, scammers often impersonate support staff or offer unsolicited help to gain your trust. Always disregard direct messages from individuals claiming to be support. Only seek assistance by tagging a moderator in the group. ::: *** ### Join Our Telegram To join our Telegram group, click the link found above. If you do not have a Telegram account yet, download the app and create one, then return to the link to join the group. *** ### Ignore Any Direct Messages Once you've joined, make sure to ignore any direct messages from people claiming to be support or offering help. Official assistance will only be provided within the group by moderators. *** ### Getting Help If you need assistance, tag a moderator directly in the group chat. Describe your issue clearly and a member of our team will respond as soon as possible. *** ### Providing Information & Waiting When asking for help, make sure to provide detailed and accurate information about your issue. The more in-depth your explanation, the faster our staff can help resolve your question. Remember, our staff are working very hard to assist everyone, so please be respectful and patient while waiting for a response. ## Terms of Service Please see our terms of service here: [https://drive.google.com/file/d/1x4VAC6RW-OJVEHx9NvGNqnwh2oPyicAo/view?usp=sharing](https://drive.google.com/file/d/1x4VAC6RW-OJVEHx9NvGNqnwh2oPyicAo/view?usp=sharing) You can run Web3Signer, CommitBoost Signer (with Dirk, or Web3Signer) as a signer. Signers allow you to safely use your keystores to sign messages, without exposing them. Interstate asks you to sign a one time message letting your relays know which RPC per beacon node is opted into. ## Setting Up Web3Signer 1. Download and unzip web3signer package. ``` wget https://artifacts.consensys.net/public/web3signer/raw/names/web3signer.tar.gz/versions/latest/web3signer.tar.gz tar -xvzf web3signer.tar.gz ``` 2. Make the web3signer command as the system command. ``` echo 'export PATH=$PATH:/home/web3signer-25.2.0/bin'>> ~/.bashrc source ~/.bashrc echo 'export PATH=$PATH:/home/web3signer-25.2.0/bin'>> ~/.zshrc source ~/.zshrc ``` 3. [clone ](https://github.com/voldev94321/copying-validator-keystores) and copy the keystores for web3signer. 4. Make the certification and other files needs for web3signer. * Generate the Web3Signer keystore ( You can use the ngrok for testing with the domain name ). ``` keytool -genkeypair -keystore web3signer_keystore.p12 -storetype PKCS12 -storepass changeit -alias web3signer -keyalg RSA -keysize 2048 -validity 109500 -dname "CN=domain.example.com, OU=PegaSys, O=ConsenSys, L=Brisbane, ST=QLD, C=AU" -ext san=dns:domain.example.com,ip:YOUR_IP_ADDRESS ``` * Create a plain text file (for example web3signer\_keystore\_password.txt) that stores the password(for example: `changeit` in this case) used to create the keystore. ``` sudo nano web3signer_keystore_password.txt ``` * Export the Web3Signer public certificate from the Web3Signer keystore to PEM format. ``` keytool -exportcert -keystore ./web3signer_keystore.p12 -alias web3signer -rfc -file web3signer.pem ``` * Import the public certificate into a truststore to be used by client, and type yes if asked to trust the certificate. ``` keytool -importcert -storetype PKCS12 -keystore web3signer_truststore.p12 -alias web3signer -trustcacerts -storepass changeit -file ./web3signer.pem ``` * Create a plain text file (for example truststore\_pass.txt) that stores the password(for example: `changeit` in this case) used to create the keystore. ``` sudo nano truststore_pass.txt ``` * Generate a new private key ``` openssl genpkey -algorithm RSA -out private.key ``` * Create a certificate signing request (CSR) ``` openssl req -new -key private.key -out request.csr ``` * Combine private key and certificate into a PEM file ``` cat web3signer.pem private.key > combined.pem ``` 4. Start the web3signer server. ``` web3signer --http-listen-host 0.0.0.0 --http-host-allowlist '*' --tls-allow-any-client true --tls-keystore-file /$WEB3SIGNER_PATH/web3signer_keystore.p12 --tls-keystore-password-file /$WEB3SIGNER_PATH/web3signer_keystore_password.txt eth2 --network mainnet --keystores-path /$WEB3SIGNER_PATH/keystore/keys --keystores-passwords-path /$WEB3SIGNER_PATH/keystore/secrets --slashing-protection-enabled false --commit-boost-api-enabled true --proxy-keystores-path /$WEB3SIGNER_PATH/keystore/keys --proxy-keystores-password-file /$WEB3SIGNER_PATH/keystore/secrets ``` ## Connect to web3signer server. 1. Make the certification file. * Make `san.cnf` ``` [req] default_bits = 4096 prompt = no default_md = sha256 distinguished_name = dn req_extensions = req_ext [dn] CN = domain.example.com [req_ext] subjectAltName = IP:YOUR_IP_ADDRESS keyUsage = keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth ``` * Make csr ``` openssl req -new -key combined.pem -out w3s.csr -config san.cnf ``` * Make the key ``` openssl genpkey -algorithm RSA -out w3s.key -pkeyopt rsa_keygen_bits:4096 ``` * Self-Signed CA ``` openssl req -x509 -new -nodes -key w3s.key -sha256 -days 3650 -out my_ca.crt -subj "/CN=domain.example.com" ``` * Sign cert ``` openssl x509 -req -in w3s.csr -CA my_ca.crt -CAkey w3s.key -CAcreateserial -out w3s.crt -days 3650 -extensions req_ext -extfile san.cnf ``` * Check cert ``` openssl x509 -in w3s.crt -noout -text ``` Now you can run the sidecar after setting the domain url of the web3signer, the cert path and the pem path. For example ``` WEB3SIGNER_URL=https://623a-2a01-4ff-f0-4039-00-1.ngrok-free.app CA_CERT_PATH=/root/kartos/web3signer-25.2.0/crt/w3s.crt CLIENT_COMBINED_PEM_PATH=/root/kartos/web3signer-25.2.0/crt/my_cert.pem # Commit-Boost Signer https://commit-boost.github.io/commit-boost-client/ ``` ## Running Your Own RPC Run your own RPC by building and deploying the docker image provided here: [https://github.com/interstate-labs/proposer-commitment-network/tree/main/interstate-gateway](https://github.com/interstate-labs/proposer-commitment-network/tree/main/interstate-gateway) We also provide help charts to do so here: [https://github.com/interstate-labs/proposer-commitment-network/tree/main/kubernetes](https://github.com/interstate-labs/proposer-commitment-network/tree/main/kubernetes) You need to set the .env file, and can also run from cargo source. When pointing relays ensure the relays you point to follow the constraints api: [https://github.com/eth-fabric/constraints-specs](https://github.com/eth-fabric/constraints-specs). We suggest pinging us on on telegram for guided help: [![Chat](https://img.shields.io/endpoint?color=neon\&logo=telegram\&label=chat\&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2F%2BPcs9bykxK3BiMzk5)](\[https://t.me/+Pcs9bykxK3BiMzk5]\(https://t.me/+-i4dP7U2BggxMzAx\)) ## Validator Quickstart ## Start Interstate On Your Validator and Earn Rewards Be sure to ping the Interstate team on [telegram](https://t.me/+-i4dP7U2BggxMzAx) ![Chat](https://img.shields.io/endpoint?color=neon\&logo=telegram\&label=chat\&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2F%2BPcs9bykxK3BiMzk5) for guided setup help from us and to request testnet eth! | Description | Endpoint | | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | helder-endpoint | [https://0x8134fe68477ecf1d5402868504f50303be599c916a45568a1bbe60dafec94b37a5650d5ca9589a9a69f126cde80e8edb@helder-builder-proxy.interstate.so:443](https://0x8134fe68477ecf1d5402868504f50303be599c916a45568a1bbe60dafec94b37a5650d5ca9589a9a69f126cde80e8edb@helder-builder-proxy.interstate.so:443) | | mainnet-endpoint | [https://0x9110847c15a7f5c80a9fdd5db989a614cc01104e53bd8c252b6f46a4842c7fdef6b9593336035b5094878deff386804c@builder-proxy.interstate.so:443](https://0x9110847c15a7f5c80a9fdd5db989a614cc01104e53bd8c252b6f46a4842c7fdef6b9593336035b5094878deff386804c@builder-proxy.interstate.so:443) | | hoodi-endpoint | [https://0x9110847c15a7f5c80a9fdd5db989a614cc01104e53bd8c252b6f46a4842c7fdef6b9593336035b5094878deff386804c@hoodi-builder-proxy-alpha.interstate.so:443](https://0x9110847c15a7f5c80a9fdd5db989a614cc01104e53bd8c252b6f46a4842c7fdef6b9593336035b5094878deff386804c@hoodi-builder-proxy-alpha.interstate.so:443) | Set your commit-boost or mev-boost relay to Interstate's endpoint. Set Interstate as the *only* relay. 1. Point MEV-Boost or Commit-Boost to the relay endpoint above. Make sure you set only one relay endpoint, the relay above. Interstate is an rpc that submits constraints to relays. * Your request follows this path: commit/mev-boost --> rpc --> relay * You can run the RPC yourself if you would like to configure which relays to use. Any [constraints-api](https://github.com/eth-fabric/constraints-specs) compatible relay works. List of Relays that Interstate uses: | Network | Constraints-Api-Compatible-Relay-Endpoint | | ------- | ------------------------------------------------------------------------------------ | | Helder | [https://helder-relay.interstate.so](https://helder-relay.interstate.so) | | Mainnet | [https://mainnet-relay.interstate.so](https://mainnet-relay.interstate.so) | | Mainnet | [https://bloxroute.max-profit.blxrbdn.com](https://bloxroute.max-profit.blxrbdn.com) | | Hoodi | [https://hoodi-relay.interstate.so](https://hoodi-relay.interstate.so) | Coming soon: Aestus, Ultrasound Relay, Titan-Relay, and more. * Quickly spin up a helder validator by running: [https://github.com/interstate-labs/helder-validator-quickstart](https://github.com/interstate-labs/helder-validator-quickstart) ## Register For Slashing Insurance Each validator can register for slashing insurance at their discretion. The steps for the validator to register for slashing insurance are here: [https://github.com/interstate-labs/proposer-commitment-network-dev/blob/main/scripts/urc/README.md](https://github.com/interstate-labs/proposer-commitment-network-dev/blob/main/scripts/urc/README.md) Registering for slashing insurance allows users to slash if their preconfirmation is missed and increases the chances of a user signing up for preconfirmations. Certain users may only send preconfirmations if the slash insurance for a certain slot exceeds a certain amount. Interstate can provide slashing collateral on your behalf, please reach out to inquire! ## Insurance Interstate is currently in whitelisted mode, only whitelisted users can send a mainnet preconfirmation request. In order to join the whitelist please ping us on telegram: [![Chat](https://img.shields.io/endpoint?color=neon\&logo=telegram\&label=chat\&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2F%2BPcs9bykxK3BiMzk5)](\[https://t.me/+Pcs9bykxK3BiMzk5]\(https://t.me/+-i4dP7U2BggxMzAx\)) Once interstate enables general mainnet, we will have two insurance guarantees, proposers can opt into the one of their choosing and preconfirmation requestors can decide whether to send a request or not based on if the insurance type and quantity offered by each proposer is sufficient. The two insurance types will be native eth and restaked eth. Native eth means the preconfirmation requestor will be compensated in native eth. Restaked eth means the requestor will be compensated in restaked eth by the slashing policies defined by the restaking networks: Karak, Eigenlayer, Symbiotic. Native eth contracts are here: [https://github.com/eth-fabric/urc](https://github.com/eth-fabric/urc). Restaked eth contracts are here: [https://github.com/interstate-labs/restaking-urc](https://github.com/interstate-labs/restaking-urc) ## Send A Preconf Request | Endpoint | Helder | Mainnet | Hoodi | | ------------ | -------------------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------ | | rpc-endpoint | [https://helder-rpc.interstate.so](https://helder-rpc.interstate.so) | [https://rpc.interstate.so](https://rpc.interstate.so) | [https://hoodi-rpc.interstate.so](https://hoodi-rpc.interstate.so) | You should point to the rpc endpoint of the respective network. You can send a preconfirmation request quickly by setting the env file and running this: [https://github.com/interstate-labs/preconf-cli](https://github.com/interstate-labs/preconf-cli) Be sure to ping the Interstate team on telegram [![Chat](https://img.shields.io/endpoint?color=neon\&logo=telegram\&label=chat\&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2F%2BPcs9bykxK3BiMzk5)](\[https://t.me/+Pcs9bykxK3BiMzk5]\(https://t.me/+-i4dP7U2BggxMzAx\)) for guided setup help from us and to request testnet eth! Interstate is currently in whitelisted mode, only whitelisted users can send a mainnet preconfirmation request. In order to join the whitelist please ping us on telegram