diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 389712a..a0aeb57 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -2,10 +2,9 @@
## [0.3.12](https://github.com/sprintertech/sprinter-sdk/compare/docs-v0.3.11...docs-v0.3.12) (2025-10-31)
-
### Bug Fixes
-* Update to solve api for gas limits ([#193](https://github.com/sprintertech/sprinter-sdk/issues/193)) ([f8e77a6](https://github.com/sprintertech/sprinter-sdk/commit/f8e77a667db859a184812db4d69d6a38c20776fc))
+- Update to solve api for gas limits ([#193](https://github.com/sprintertech/sprinter-sdk/issues/193)) ([f8e77a6](https://github.com/sprintertech/sprinter-sdk/commit/f8e77a667db859a184812db4d69d6a38c20776fc))
## [0.3.11](https://github.com/sprintertech/sprinter-sdk/compare/docs-v0.3.10...docs-v0.3.11) (2025-10-09)
diff --git a/docs/_temp/05-points.md b/docs/_temp/05-points.md
new file mode 100644
index 0000000..2a29c74
--- /dev/null
+++ b/docs/_temp/05-points.md
@@ -0,0 +1,74 @@
+---
+id: Stash-points
+title: Stash points
+sidebar_position: 5
+---
+
+# Stash points
+
+Your participation now earns Stash points, a new rewards system that tracks your contributions across the Sprinter ecosystem.
+
+# Current Activities
+
+## Track Event 1
+
+- The first event will be The 100M Stash, where you can earn Stash points by depositing USDC into Sprinter Stash and locking your liquidity for a chosen duration.
+
+- Stash LPs receive a 1 points per $1 of USDC staked in the liquidity pools
+
+- More ways to earn will be revealed in the coming weeks, in addition to the leaderboard going live soon - so keep stacking points and we’ll see who’s leading the race.
+
+### Early LPs get a head start
+
+Sprinter Stash rewards liquidity providers with points, and yield that scales based on how long you lock your funds. The longer you commit, the higher your multiplier, starting at 0.4x for a 3-month lock, up to a generous 2.2x for a 12-month commitment.
+
+And for early adopters, there’s an additional reason to act fast: deposits made within the first 48 hours of each milestone unlock a **100% SPRNT bonus** on your USDC deposit, on top of your regular rewards. No extra steps required — just show up early, and your bonus will be automatically applied.
+
+To kick things off, we’re rewarding our earliest Stashers with both **base multipliers** and **bonus points**.
+
+**Base Multipliers**
+
+Lock your liquidity and earn more Stash points based on your commitment:
+
+- **3-Month Lock** → 0.4x Stash points
+- **6-Month Lock** → 1.0x Stash points
+- **12-Month Lock** → 2.2x Stash points
+
+**Bonus rewards (First 48 Hours)**
+
+Deposit USDC in the first **48 hours** of each milestone and you’ll receive a **100% bonus** on your USDC deposit, in Stash points — no extra steps needed.
+
+### How to Stash
+
+Sprinter Stash gives LPs access to dynamic, multichain rewards - powered by solver activity and protocol incentives.
+
+Here’s how it flows:
+
+1. Visit https://app.sprinter.tech/
+2. **Connect your wallet & select a chain**
+
+ Deposit USDC directly into Sprinter Stash.
+
+3. **Choose your Stash lockup**
+
+ You can lock your Stash for 3 months, 6 or 12. (Or you can chose not to lock and just earn the APY).
+
+4. **Stash allocates liquidity across chains**
+
+ Liquidity is algorithmically rebalanced to meet solver demand in real time.
+
+5. **Solvers use credit instantly**
+
+ Solvers borrow on destination chains without collateral to execute trades and arbitrage opportunities cross-chain.
+
+6. **Settlement & rewards**
+
+ Once filled, funds are repaid on the source chain. Profits flow back to LPs as APY, solver and strategy fees.
+
+You earn from:
+
+- **Solver fees**
+- **Strategy fees**
+- **Multi-dimentional Passive yield**
+- **Stash points**
+- **Rewards** (post TGE)
diff --git a/docs/docs/01-introduction/01-introduction.md b/docs/docs/01-introduction/01-introduction.md
index 0130d1f..80d1b45 100644
--- a/docs/docs/01-introduction/01-introduction.md
+++ b/docs/docs/01-introduction/01-introduction.md
@@ -6,8 +6,8 @@ sidebar_position: 1
---
#
@@ -16,13 +16,15 @@ Sprinter envisions a decentralized, open and equitable financial system that pro
# What is Sprinter?
-Sprinter combines solving-as-a-service infrastructure with credit-based crosschain liquidity. It enables solvers to borrow and execute onchain actions without pre-funded inventory, while giving dApps and protocols access to best-in-class execution routes, powered by the Project Blanc advanced solving technology.
+Sprinter combines solving-as-a-service infrastructure with credit-based crosschain liquidity. It enables venues to borrow and execute onchain actions without pre-funded inventory, while giving dApps and protocols access to best-in-class execution routes, powered by the Project Blanc advanced solving technology.
## Sprinter’s Core Products
### [Sprinter Stash](Stash)
-A crosschain credit protocol providing liquidity access to solvers and market makers without requiring collateral. Liquidity providers deposit USDC into the protocol, earning returns through solver fees and passive yield strategies.
+Sprinter Stash is a universal credit protocol that powers the next-generation of use cases, from solver credit lines to trading, whilst rewarding LPs with sustainable, risk-managed stablecoin yield.
+
+Stash provides zero-collateral credit, so solvers don’t need capital, users don’t need to touch bridges, and dApps get instant fills.
### [Sprinter Solve](Solve)
@@ -37,3 +39,4 @@ If you have questions about Sprinter, the code, the docs, or have a partnership
- **Telegram:** [t.me/sprinter_tech](https://t.me/sprinter_tech)
- **X:** [@sprinter_ux](https://x.com/sprinter_ux)
- **Website:** [sprinter.tech](https://sprinter.tech)
+- **Blog:** [blog.sprinter.tech](https://blog.sprinter.tech)
diff --git a/docs/docs/02-Stash/01-utilizing-stash.md b/docs/docs/02-Stash/01-utilizing-stash.md
index 6a35059..6448676 100644
--- a/docs/docs/02-Stash/01-utilizing-stash.md
+++ b/docs/docs/02-Stash/01-utilizing-stash.md
@@ -1,6 +1,6 @@
---
id: use-stash
-title: Stash API quick start
+title: Stash API Integration Guide
sidebar_position: 1
---
@@ -8,18 +8,11 @@ sidebar_position: 1
Request your Stash API key via [Sprinter Stash Request](https://forms.gle/kgpcQK722Ley2gke7) or contacting support@sprinter.tech
:::
-## As a Solver
+## For crosschain DeFi
Sprinter Stash enables solvers to **borrow crosschain credit on-demand** to execute user intents without needing pre-funded inventory.
-This guide covers:
-
-1. Recap of the [Stash Fill Lifecycle](use-stash#1-stash-solver-fill-lifecycle)
-2. Requesting a [Credit Borrow Quote Estimate](use-stash#2-request-a-credit-borrow-quote-estimate-optional)
-3. Requesting a [Final Borrow Cost and Credit Authorization](use-stash#3-request-the-final-credit-borrow-cost)
-4. Check out the [Fill Optimization Tips](use-stash#4-fill-optimization-tips)
-
-### 1. Stash Fill Lifecycle
+## Overview of the Stash Fill Lifecycle
@@ -35,107 +28,83 @@ flowchart TD
H --> I[Intent Protocol Repays Borrowed Credit + Costs]
I --> J[Fill Complete]
-click B "use-stash#2-request-a-borrow-cost-estimate-optional" "Borrow Cost"
+click B "borrow-quote-api" "Borrow Cost"
style B fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold
-click E "use-stash#3-request-a-final-borrow-quote" "Borrow Quote"
+click E "borrow-cost-api" "Borrow Quote"
style E fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold
```
-### 2. Request a Credit Borrow Quote Estimate (Optional)
-
-Call the [**Borrow Quote API**](borrow-quote-api) to preview an estimated borrowing cost for a potential fill before requesting credit. This can be based on input or output amount.
-
-```ts title="Request Borrow Quote Estimate with type ExactInput (input amount - borrow costs)"
-const baseUrl = "https://api.sprinter.tech";
-const sourceChainId = "eip155:8453"; // eip155:8453(Base), eip155:10 (Optimism), eip155:42161 (Arbitrum). ChainId must use capid format from our configuration
-const protocol = "across"; // "across" or "mayan"
-const type = "ExactInput"; // Request will consider the amount as (input amount - borrow costs)
-const amount = 10000000; // This is the ExactInput eg 1 USDC (6 decimals)
-const response = await fetch(
- `${baseUrl}/liquidity/chain/${sourceChainId}/protocol/${protocol}/type/${type}/quote`,
- {
- method: "GET",
- headers: {
- "X-Auth-Token": "",
- },
- body: {
- amount: amount,
- token: "destination_token_address", // Token address
- network: "eip155:10", // Destination_Chain_ID
- },
- },
-);
-
-const borrowQuote = await response.json();
-console.log("Expected amount:", borrowQuote.expectedOutput);
-console.log("Borrow Cost:", borrowQuote.borrowCost);
-```
+## How Stash Enables Zero-Collateral Loans
-```ts title="Request Final Borrow Quote Estimate with type ExactOutput (output amount + borrow costs)"
-const baseUrl = "https://api.sprinter.tech";
-const sourceChainId = "eip155:8453"; // eip155:8453(Base), eip155:10 (Optimism), eip155:42161 (Arbitrum). ChainId must use capid format from our configuration
-const protocol = "across"; // "across" or "mayan"
-const type = "ExactOutput"; // Request will consider the amount as (output amount + borrow costs)
-const amount = 10000000; // This is the ExactInput eg 1 USDC (6 decimals)
-const response = await fetch(
- `${baseUrl}/liquidity/chain/${sourceChainId}/protocol/${protocol}/type/${type}/quote`,
- {
- method: "GET",
- headers: {
- "X-Auth-Token": "",
- },
- body: {
- amount: amount,
- token: "destination_token_address", // Token address
- network: "eip155:10", // Destination_Chiain_ID
- },
- },
-);
-
-const borrowQuote = await response.json();
-
-console.log("Expected Input:", borrowQuote.requiredInput);
-console.log("Borrow Cost:", borrowQuote.borrowCost);
-```
+Sprinter Stash enables solvers to borrow liquidity with near zero collateral, and achieves this through a series of mechanisms below:
-### 3. Request the final Credit Borrow Cost
-
-If proceeding to fill with Sprinter Stash, call the [**Borrow Cost API**](borrow-cost-api) to request the final borrow cost to reserve credit and authorize the fill.
-
-```ts title="Fetch Borrow Cost Example Payload"
-const baseUrl = "https://api.sprinter.tech";
-const destChainId = "eip155:8453"; // eip155:8453(Base), eip155:10 (Optimism), eip155:42161 (Arbitrum) destChainId must use capid format from our configuration
-const protocol = "across"; // "across" or "mayan"
-const txHash = "string"; // Source chain deposit TX
-const response = await fetch(
- `${baseUrl}/liquidity/chain/${destChainId}/protocol/${protocol}/deposit/${txHash}/requests`,
- {
- method: "GET",
- headers: {
- "X-Auth-Token": "",
- },
- body: {
- input: "callData", // encoded callData for destination ( Borrow & Fill) it also contains depositData prams for MPC validation
- caller: "address", // the address that will execute the borrow and fill ond destChainId
- },
- },
-);
-```
+#### 1. Approved Solvers
+
+On launch only approved solvers can access Stash credit. These solvers:
+
+- Undergo screening and onboarding by the Sprinter team
+- Must use authenticated API keys tied to their accounts
+- Are rate-limited and monitored to ensure responsible usage
+
+Sprinter also tracks solver performance and creditworthiness over time. Solvers who consistently repay on time may be granted higher limits, while misbehavior results in penalties or revoked access with both informed through regular reviews of:
+
+- Fill accuracy and repayment behavior
+- Volume solved and protocols interacted with
+- On-chain and off-chain repayment events
+
+#### 2. Transaction-Level Guarantees
+
+Each fill is validated against the user’s original intent using:
+
+- Verified source deposits (e.g. via Across)
+- MPC-signed authorization signatures
+- Controlled function execution (via calldata)
-### 4. Fill Optimization Tips
+Sprinter acts as an intermediary: the solver never touches user funds directly. The system ensures that repayment is guaranteed by the user's transaction on the source chain before the solver receives liquidity.
-Here are some tips on getting the best performance and profit from your Sprinter Stash integration:
+#### 3. Protocol Guardrails & Limits
-1. **Pre-fetch Borrow Cost** - Call `GET /type/{type}/quote` as early as possible (when detecting intents) to evaluate solver profitability.
+Sprinter enforces:
+
+- Per-solver daily limits (to minimize exposure)
+- Per-transaction liquidity caps
+- Circuit breakers triggered by irregular repayment behavior
+- Slashing (or bond requirements) for higher-risk integrations
+
+#### 4. Bonding Pools
+
+Sprinter will also allow Solver Operators to create Bonding Pools, that escrow funds to vouch for their solvers, enabling more favourable borrowing conditions. Sprinter Bonding Pools will be controlled by governance and similarly allow slashing by governance for any malicious activity or violations.
+
+## Stash Fees
+
+Sprinter Stash handles crosschain liquidity fills. Revenue is generated from the spread between between the amount the user deposited on source and the amount provided on the destination.
+
+### Revenue Components
+
+- **Fill Revenue:** Amount user deposits on source - amount send to user on destination
+- **Borrow Costs:** Cost of liquidity borrowing and crosschain repayment.
+- **Solver Costs:** Gas fees and execution costs fronted by solvers.
+
+### Profit Calculation
+
+```
+Fill Profit = Fill Revenue - Borrow Costs - Solver Costs
+```
-2. **Batch Gas Where Possible** - Bundle execution and repayment transactions to reduce gas costs.
+### Monthly Distribution
-3. **Optimize for Slippage** - Query quotes close to execution time to reduce stale pricing or slippage-induced fills.
+1. Withdraw raw profits from liquidity pools.
+2. Deduct solver gas costs.
+3. Distribute monthly fill profits to:
-4. **Handling Rate Limits** - If you hit 429s, give it a moment and retry using retry_after value. You can request higher limits via support@sprinter.tech.
+| Actor | Description | Fill Profit % |
+| -------- | ------------------------------------- | ------------- |
+| Solvers | For executing fills | 50% |
+| LPs | For providing liquidity | 50% |
+| Treasury | Protocol growth & sustainability fund | TBD |
-5. **Validate Transaction Hash Early** - Ensure the user intent transaction is final and not reverted before calling `/deposit/{txHash}/request`.
+➡️ _Initial fee split is reviewed monthly by governance._
diff --git a/docs/docs/02-Stash/02-stash-contracts.md b/docs/docs/02-Stash/02-stash-contracts.md
index a954dbd..714b30b 100644
--- a/docs/docs/02-Stash/02-stash-contracts.md
+++ b/docs/docs/02-Stash/02-stash-contracts.md
@@ -31,7 +31,7 @@ Liquidity authorization is managed and controlled by Sprinter's [**Multi-Party C
- **Incentive Layer** Bootstraps solver access to credit while ensuring LPs are fairly rewarded. Reward parameters can be updated through governance, and all emissions are transparently distributed on-chain.
- **Depositing Liquidity:** LPs deposit USDC → receive `spUSDC-LP` tokens.
- **Stashing** When LPs receive their `spUSDC-LP` tokens, they can stake them in this contract to participate in ongoing emissions programs.
- **Multiplier incentives** — Longer lockups (e.g., 3, 6, or 9 months) offer higher SPRNT yield rates to encourage deeper liquidity commitments.
+ **Multiplier incentives** — Longer lockups (e.g., 3, 6, or 9 months) offer higher point multipliers to encourage deeper liquidity commitments.
## Liquidity Pools
diff --git a/docs/docs/02-Stash/03-get-the-borrow-quote-for-a-liquidity-transaction-based-on-the-input-data.api.mdx b/docs/docs/02-Stash/03-get-the-borrow-quote-for-a-liquidity-transaction-based-on-the-input-data.api.mdx
index 53fa51d..b87ee77 100644
--- a/docs/docs/02-Stash/03-get-the-borrow-quote-for-a-liquidity-transaction-based-on-the-input-data.api.mdx
+++ b/docs/docs/02-Stash/03-get-the-borrow-quote-for-a-liquidity-transaction-based-on-the-input-data.api.mdx
@@ -26,20 +26,17 @@ import Heading from "@theme/Heading";
-A [borrow quote](/Resources/glossary#stash-borrow-quote) is the **preliminary estimated fee** a solver would incur to borrow credit from Sprinter Stash. It is returned off-chain via the Stash API and helps solvers determine if pursuing a fill is profitable.
-
-Borrow quote includes expected gas, risk premiums, protocol fees, and capital access costs — but it is not a binding or reserved price.
+## Borrow quote overview
-See the [Request a Credit Borrow Quote Estimate example payload](use-stash#2-request-a-credit-borrow-quote-estimate-optional).
+A [borrow quote](/Resources/glossary#stash-borrow-quote) is the **preliminary estimated fee** a solver would incur to borrow credit from Sprinter Stash. It is returned off-chain via the Stash API and helps solvers determine if pursuing a fill is profitable.
-A [borrow quote](/Resources/glossary#stash-borrow-quote) is the final, **authorized borrowing offer** issued by Sprinter Stash when a solver decides to proceed with a fill.
-It reserves credit under specific conditions, allowing solvers to confidently execute the cross-chain transaction.
+Borrow quote includes expected gas, risk premiums, protocol fees, and capital access costs — but it is not a binding or reserved price. This can be based on input or output amount.
-See the [Request Final Borrow Quote example payload](/Stash/use-stash#3-request-a-final-borrow-quote).
+See the [Request a Credit Borrow Quote Estimate example payload](borrow-quote-api#example-borrow-quote-payload).
+
+## Example Borrow Quote payload
+
+```ts title="Request Borrow Quote Estimate with type ExactInput (input amount - borrow costs)"
+const baseUrl = "https://api.sprinter.tech";
+const sourceChainId = "eip155:8453"; // eip155:8453(Base), eip155:10 (Optimism), eip155:42161 (Arbitrum). ChainId must use capid format from our configuration
+const protocol = "across"; // "across" or "mayan"
+const type = "ExactInput"; // Request will consider the amount as (input amount - borrow costs)
+const amount = 10000000; // This is the ExactInput eg 1 USDC (6 decimals)
+const response = await fetch(
+ `${baseUrl}/liquidity/chain/${sourceChainId}/protocol/${protocol}/type/${type}/quote`,
+ {
+ method: "GET",
+ headers: {
+ "X-Auth-Token": "",
+ },
+ body: {
+ amount: amount,
+ token: "destination_token_address", // Token address
+ network: "eip155:10", // Destination_Chain_ID
+ },
+ },
+);
+
+const borrowQuote = await response.json();
+console.log("Expected amount:", borrowQuote.expectedOutput);
+console.log("Borrow Cost:", borrowQuote.borrowCost);
+```
+
+```ts title="Request Final Borrow Quote Estimate with type ExactOutput (output amount + borrow costs)"
+const baseUrl = "https://api.sprinter.tech";
+const sourceChainId = "eip155:8453"; // eip155:8453(Base), eip155:10 (Optimism), eip155:42161 (Arbitrum). ChainId must use capid format from our configuration
+const protocol = "across"; // "across" or "mayan"
+const type = "ExactOutput"; // Request will consider the amount as (output amount + borrow costs)
+const amount = 10000000; // This is the ExactInput eg 1 USDC (6 decimals)
+const response = await fetch(
+ `${baseUrl}/liquidity/chain/${sourceChainId}/protocol/${protocol}/type/${type}/quote`,
+ {
+ method: "GET",
+ headers: {
+ "X-Auth-Token": "",
+ },
+ body: {
+ amount: amount,
+ token: "destination_token_address", // Token address
+ network: "eip155:10", // Destination_Chiain_ID
+ },
+ },
+);
+
+const borrowQuote = await response.json();
+
+console.log("Expected Input:", borrowQuote.requiredInput);
+console.log("Borrow Cost:", borrowQuote.borrowCost);
+```
diff --git a/docs/docs/02-Stash/04-get-the-borrow-cost-for-a-liquidity-transaction.api.mdx b/docs/docs/02-Stash/04-get-the-borrow-cost-for-a-liquidity-transaction.api.mdx
index b2e283b..ced3317 100644
--- a/docs/docs/02-Stash/04-get-the-borrow-cost-for-a-liquidity-transaction.api.mdx
+++ b/docs/docs/02-Stash/04-get-the-borrow-cost-for-a-liquidity-transaction.api.mdx
@@ -26,14 +26,14 @@ import Heading from "@theme/Heading";
A [borrow cost](/Resources/glossary#stash-borrow-cost) is the final, **authorized borrowing offer** issued by Sprinter Stash when a solver decides to proceed with a fill.
It reserves credit under specific conditions, allowing solvers to confidently execute the cross-chain transaction.
-See the [Request Final Borrow Cost example payload](use-stash#3-request-the-final-credit-borrow-cost).
+See the [Request Final Borrow Cost example payload](borrow-cost-api#3-request-the-final-credit-borrow-cost) and check out the [optimization tips](borrow-cost-api#fill-optimization-tips)
+
+## Example Borrow Cost payload
+
+```ts title="Fetch Borrow Cost Example Payload"
+const baseUrl = "https://api.sprinter.tech";
+const destChainId = "eip155:8453"; // eip155:8453(Base), eip155:10 (Optimism), eip155:42161 (Arbitrum) destChainId must use capid format from our configuration
+const protocol = "across"; // "across" or "mayan"
+const txHash = "string"; // Source chain deposit TX
+const response = await fetch(
+ `${baseUrl}/liquidity/chain/${destChainId}/protocol/${protocol}/deposit/${txHash}/requests`,
+ {
+ method: "GET",
+ headers: {
+ "X-Auth-Token": "",
+ },
+ body: {
+ input: "callData", // encoded callData for destination ( Borrow & Fill) it also contains depositData prams for MPC validation
+ caller: "address", // the address that will execute the borrow and fill ond destChainId
+ },
+ },
+);
+```
+
+## Fill Optimization Tips
+
+Here are some tips on getting the best performance and profit from your Sprinter Stash integration:
+
+1. **Pre-fetch Borrow Cost** - Call `GET /type/{type}/quote` as early as possible (when detecting intents) to evaluate solver profitability.
+
+2. **Batch Gas Where Possible** - Bundle execution and repayment transactions to reduce gas costs.
+
+3. **Optimize for Slippage** - Query quotes close to execution time to reduce stale pricing or slippage-induced fills.
+
+4. **Handling Rate Limits** - If you hit 429s, give it a moment and retry using retry_after value. You can request higher limits via support@sprinter.tech.
+
+5. **Validate Transaction Hash Early** - Ensure the user intent transaction is final and not reverted before calling `/deposit/{txHash}/request`.
diff --git a/docs/docs/02-Stash/index.md b/docs/docs/02-Stash/index.md
index 3ccd354..66821f4 100644
--- a/docs/docs/02-Stash/index.md
+++ b/docs/docs/02-Stash/index.md
@@ -4,138 +4,38 @@ title: Sprinter Stash
sidebar_position: 3
---
-:::tip
-Ready to **Stash**? Check out the [Stash API quick start guide](use-stash)
-:::
-
# Sprinter Stash
-Sprinter's crosschain credit protocol providing liquidity access to solvers and market makers without requiring collateral.
-
-## How Stash Works
-
-- **Liquidity Providers** deposit USDC into **[Sprinter Stash](https://app.sprinter.tech)**, earning yield from solver fees, passive yield and protocol incentives.
-- Stash **dynamically allocates liquidity** across supported chains based on solver demand using algorithmic management and rebalancing.
-- **Solvers** request and borrow credit on destination instantly, [without collateral](#how-stash-enables-zero-collateral-loans), enabling seamless crosschain execution.
-- Once **fills are completed**, Stash receives funds on the source chain, repays the credit, and distributes profits to LPs and solvers.
-
-### Stash Fill Lifecycle
-
-```mermaid
-flowchart TD
- A[Solver Detects User Intent] --> B[Solver Previews Estimated Borrowing Quote of Credit]
- B --> C[Receive Borrow Quote Estimate]
- C --> D{Fill using Stash Credit?}
- D -- Yes --> E[Solver Reserves credit and authorize the fill]
- D -- No --> F[Abort Fill]
- E --> G[Solver Borrow Liquidity from Sprinter Stash]
- G --> H[Stash Executes Cross-Chain Swap/Bridge Execution]
- H --> I[Intent Protocol Repays Borrowed Credit + Costs]
- I --> J[Fill Complete]
-
-click B "borrow-cost-api" "Borrow Cost"
-style B fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold
-
-click E "borrow-quote-api" "Borrow Quote"
-style E fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold
-
-```
+Sprinter Stash is a credit-based liquidity protocol that connects stablecoin LPs with crosschain actors like solvers and strategists and bridges the gap between passive capital and high-frequency, crosschain demand.
-## Features & Utility
+## Why Sprinter Stash?
### For Liquidity Providers
-- Earn passive yield, solver-generated fees and protocol incentives.
-- Participate in liquidity mining campaigns for SPRNT rewards.
-- Benefit from protocol-managed inventory strategies.
-
-### For Solvers
-
-- Reduce capital requirements by borrowing credit on demand.
-- Eliminate need to manage inventory across chains.
-- Improve execution efficiency with shared liquidity access.
-
-### How Stash Enables Zero-Collateral Loans
-
-Sprinter Stash enables solvers to borrow liquidity with near zero collateral, and achieves this through a series of mechanisms below:
-
-#### 1. Approved Solvers
-
-On launch only approved solvers can access Stash credit. These solvers:
-
-- Undergo screening and onboarding by the Sprinter team
-- Must use authenticated API keys tied to their accounts
-- Are rate-limited and monitored to ensure responsible usage
-
-Sprinter also tracks solver performance and creditworthiness over time. Solvers who consistently repay on time may be granted higher limits, while misbehavior results in penalties or revoked access with both informed through regular reviews of:
-
-- Fill accuracy and repayment behavior
-- Volume solved and protocols interacted with
-- On-chain and off-chain repayment events
+Sprinter Stash is for liquidity providers looking for an attractive yield opportunity based on a new DeFi primitive:
-#### 2. Transaction-Level Guarantees
+- **High Yield & Low Risk:** Sprinter Stash utilizes multiple yield sources to maximize capital efficiency and returns: LPs earn from service fees paid by solvers to access credit as well as proven passive yield sources (such as lending protocols) ensuring low risk. Staking earns additional rewards through SPRNT token emissions.
+- **Secure & Credible:** MPC-secured multi-party threshold signing, risk mitigation mechanisms, and [smart contract audits by [Veridise](https://github.com/sprintertech/sprinter-stash-contracts/blob/main/audits/VAR_Sygma_labs_Sprinter_liquidity_250212-final.pdf) and [Spearbit/Cantina](https://cantina.xyz/portfolio/fe3c634c-d06d-47c2-a70a-f19d2f820f58) make Sprinter Stash a secure platform. Built in partnership with [ChainSafe](https://chainsafe.io), a team with 7+ years of industry expertise across core protocol development, standardization/ EIPs and security audits /council work.
-Each fill is validated against the user’s original intent using:
+### For crosschain DeFi
-- Verified source deposits (e.g. via Across)
-- MPC-signed authorization signatures
-- Controlled function execution (via calldata)
+Sprinter Stash enables capital-efficient crosschain execution by removing the need for pre-funded liquidity pools or collateralized loans. Liquidity is automatically managed across chains via a variety of rebalancing and netting protocols. At launch, **Stash** initially supports solvers filling orders in:
-Sprinter acts as an intermediary: the solver never touches user funds directly. The system ensures that repayment is guaranteed by the user's transaction on the source chain before the solver receives liquidity.
+- Across
+- LiFi Intents
+- Mayan Finance
+- Rhinestone
-#### 3. Protocol Guardrails & Limits
-
-Sprinter enforces:
-
-- Per-solver daily limits (to minimize exposure)
-- Per-transaction liquidity caps
-- Circuit breakers triggered by irregular repayment behavior
-- Slashing (or bond requirements) for higher-risk integrations
-
-#### 4. Bonding Pools
-
-Sprinter will also allow Solver Operators to create Bonding Pools, that escrow funds to vouch for their solvers, enabling more favourable borrowing conditions. Sprinter Bonding Pools will be controlled by governance and similarly allow slashing by governance for any malicious activity or violations.
-
-### Supported Networks
-
-- Arbitrum
-- Optimism
-- Base
-- Ethereum Mainnet (coming soon)
-
-### Supported Assets
-
-- Stablecoins: USDC, DAI, USDT
-- Blue-Chip: WETH, WBTC
-
-Want to request support for a new chain or asset? [Submit a request](https://forms.gle/an5vZrmyDkyYR8Ni7).
-
-## Stash Fees
-
-Sprinter Stash handles crosschain liquidity fills. Revenue is generated from the spread between between the amount the user deposited on source and the amount provided on the destination.
-
-### Revenue Components
-
-- **Fill Revenue:** Amount user deposits on source - amount send to user on destination
-- **Borrow Costs:** Cost of liquidity borrowing and crosschain repayment.
-- **Solver Costs:** Gas fees and execution costs fronted by solvers.
-
-### Profit Calculation
-
-```
-Fill Profit = Fill Revenue - Borrow Costs - Solver Costs
-```
-
-### Monthly Distribution
+## How Stash Works
-1. Withdraw raw profits from liquidity pools.
-2. Deduct solver gas costs.
-3. Distribute monthly fill profits to:
+1. **Liquidity Providers deposit USDC on Base from any chain into the protocol’s liquidity hub** - Receiving spUSDC-LP tokens in return. Liquidity is then managed across the pools on supported chains.
+2. **Solvers access liquidity instantly, without collateral** – Solvers are executing their fills through Stash. After a fill is completed via credit, Stash receives the deposited funds on the source chain repaying the credit and keeping profits for LPs and solvers. Stash works as a closed credit system where the MPC validates all intents to be filled and ensure credit will be repayed.
+3. **LPs earn dynamic rewards** – Yield is optimized through a combination of base yield from supply in lending protocols, such as Aave, and yield from solver borrow fees. LPs are also eligible to earn staking rewards in the form of SPRNT emissions, with higher multipliers for longer locks in addition to bonus incentives for earlybirds.
+4. Once **fills are completed**, Stash receives funds on the source chain, repays the credit, and distributes profits to LPs and solvers.
-| Actor | Description | Fill Profit % |
-| -------- | ------------------------------------- | ------------- |
-| Solvers | For executing fills | 50% |
-| LPs | For providing liquidity | 50% |
-| Treasury | Protocol growth & sustainability fund | TBD |
+By bringing together **liquidity providers and solvers** Sprinter Stash creates a more efficient and scalable solver environment for the entire DeFi ecosystem. Stash launches with supported:
-➡️ _Initial fee split is reviewed monthly by governance._
+- **Destination Networks** - Base, Arbitrum, Optimism
+- **Tokens** - DAI, ETH/WETH, USDC, USDT, WBTC
+- **Protocols** - Any EVM crosschain bridge/ swap protocol such as 1inch Fusion+, Across, Debridge Liquidity Network, Everclear, Mayan.Finance with many more upcoming
+- **Rebalancing/ Inventory Management** - CCTP, native Bridges, Everclear
diff --git a/docs/docs/05-sprnt.md b/docs/docs/05-sprnt.md
deleted file mode 100644
index 7b62ab6..0000000
--- a/docs/docs/05-sprnt.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-id: sprnt-token
-title: SPRNT
-sidebar_position: 5
----
-
-# SPRNT Token
-
-SPRNT is the native governance and utility token of the Sprinter Protocol. It is used to incentivize liquidity providers, solvers, and community participants.
-
-## Key Features & Utility
-
-### Governance
-
-- Stake SPRNT to earn **veSPRNT**
-- Participate in on-chain governance decisions
-
-### Incentives & Rewards
-
-- Distributed to LPs and solvers for protocol usage
-- Used to bootstrap solver routes and usage
-
-### Bonding Pools
-
-- Solvers can create Bonding Pools, where SPRNT can be bonded
-- Bonded SPRNT will allow solvers to have more favourable borrowing conditions
-- Bonding Pools will be controlled by governance and include slashing mechanisms
-
-## Token Supply & Allocation
-
-- **Total Supply:** 1,000,000,000 SPRNT
-- **Token Standard:** ERC20
-- **Network:** Ethereum Mainnet
-
-More details on the token generation event and distribution will be released soon.
diff --git a/docs/docs/07-governance.md b/docs/docs/07-governance.md
index 7fb64e0..0d7b5cd 100644
--- a/docs/docs/07-governance.md
+++ b/docs/docs/07-governance.md
@@ -38,9 +38,3 @@ Sprinter Protocol governance is currently managed via two multisigs, with plans
- `ASSETS_ADJUSTER`
- `ADMIN` (Upgrades)
-
-## Long-Term Vision
-
-- Gradual shift to veSPRNT-based DAO governance
-- Protocol parameters and fee splits managed by tokenholders
-- On-chain voting for upgrades, integrations, emissions
diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts
index 9ea4e27..9441552 100644
--- a/docs/docusaurus.config.ts
+++ b/docs/docusaurus.config.ts
@@ -63,12 +63,12 @@ const config: Config = {
},
items: [
{
- href: "https://app.sprinter.tech/",
- label: "Stash",
+ href: "https://sprinter.tech/",
+ label: "Website",
position: "left",
},
{
- href: "https://api.sprinter.buildwithsygma.com/swagger/index.html",
+ href: "https://api.sprinter.tech/swagger/index.html",
label: "Swagger",
position: "right",
},
diff --git a/docs/src/api/stash-openapi.yaml b/docs/src/api/stash-openapi.yaml
index f9f21c3..f87e7c0 100644
--- a/docs/src/api/stash-openapi.yaml
+++ b/docs/src/api/stash-openapi.yaml
@@ -513,7 +513,7 @@ info:
contact: {}
schemes:
- https
-host: api.sprinter.buildwithsygma.com/
+host: api.sprinter.tech/
paths:
/liquidity/chain/{chainId}/protocol/{protocol}/deposit/{txHash}/request:
get:
diff --git a/docs/static/img/credit header.png b/docs/static/img/credit header.png
new file mode 100644
index 0000000..46e78a4
Binary files /dev/null and b/docs/static/img/credit header.png differ
diff --git a/packages/react/vite.config.ts.timestamp-1762778258559-25d46bae872db.mjs b/packages/react/vite.config.ts.timestamp-1762778258559-25d46bae872db.mjs
new file mode 100644
index 0000000..29f3bbd
--- /dev/null
+++ b/packages/react/vite.config.ts.timestamp-1762778258559-25d46bae872db.mjs
@@ -0,0 +1,46 @@
+// vite.config.ts
+import { defineConfig } from "file:///Users/robzhuang/Documents/GitHub/sprinter-ts/packages/react/node_modules/vite/dist/node/index.js";
+import { extname, relative, resolve } from "path";
+import { fileURLToPath } from "node:url";
+import react from "file:///Users/robzhuang/Documents/GitHub/sprinter-ts/packages/react/node_modules/@vitejs/plugin-react/dist/index.mjs";
+import dts from "file:///Users/robzhuang/Documents/GitHub/sprinter-ts/packages/react/node_modules/vite-plugin-dts/dist/index.mjs";
+import { glob } from "file:///Users/robzhuang/Documents/GitHub/sprinter-ts/node_modules/glob/dist/esm/index.js";
+var __vite_injected_original_dirname = "/Users/robzhuang/Documents/GitHub/sprinter-ts/packages/react";
+var __vite_injected_original_import_meta_url = "file:///Users/robzhuang/Documents/GitHub/sprinter-ts/packages/react/vite.config.ts";
+var vite_config_default = defineConfig({
+ plugins: [
+ react(),
+ dts({ tsconfigPath: resolve(__vite_injected_original_dirname, "tsconfig.lib.json") })
+ ],
+ build: {
+ copyPublicDir: false,
+ lib: {
+ entry: resolve(__vite_injected_original_dirname, "lib/main.ts"),
+ formats: ["es"]
+ },
+ rollupOptions: {
+ external: ["react", "react/jsx-runtime"],
+ input: Object.fromEntries(
+ // https://rollupjs.org/configuration-options/#input
+ glob.sync("lib/**/*.{ts,tsx}", {
+ ignore: ["lib/**/*.d.ts"]
+ }).map((file) => [
+ // 1. The name of the entry point
+ // lib/nested/foo.js becomes nested/foo
+ relative("lib", file.slice(0, file.length - extname(file).length)),
+ // 2. The absolute path to the entry file
+ // lib/nested/foo.ts becomes /project/lib/nested/foo.ts
+ fileURLToPath(new URL(file, __vite_injected_original_import_meta_url))
+ ])
+ ),
+ output: {
+ assetFileNames: "assets/[name][extname]",
+ entryFileNames: "[name].js"
+ }
+ }
+ }
+});
+export {
+ vite_config_default as default
+};
+//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcm9iemh1YW5nL0RvY3VtZW50cy9HaXRIdWIvc3ByaW50ZXItdHMvcGFja2FnZXMvcmVhY3RcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9yb2J6aHVhbmcvRG9jdW1lbnRzL0dpdEh1Yi9zcHJpbnRlci10cy9wYWNrYWdlcy9yZWFjdC92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcm9iemh1YW5nL0RvY3VtZW50cy9HaXRIdWIvc3ByaW50ZXItdHMvcGFja2FnZXMvcmVhY3Qvdml0ZS5jb25maWcudHNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgZXh0bmFtZSwgcmVsYXRpdmUsIHJlc29sdmUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gXCJub2RlOnVybFwiO1xuaW1wb3J0IHJlYWN0IGZyb20gXCJAdml0ZWpzL3BsdWdpbi1yZWFjdFwiO1xuaW1wb3J0IGR0cyBmcm9tIFwidml0ZS1wbHVnaW4tZHRzXCI7XG5pbXBvcnQgeyBnbG9iIH0gZnJvbSBcImdsb2JcIjtcblxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIHBsdWdpbnM6IFtcbiAgICByZWFjdCgpLFxuICAgIGR0cyh7IHRzY29uZmlnUGF0aDogcmVzb2x2ZShfX2Rpcm5hbWUsIFwidHNjb25maWcubGliLmpzb25cIikgfSksXG4gIF0sXG4gIGJ1aWxkOiB7XG4gICAgY29weVB1YmxpY0RpcjogZmFsc2UsXG4gICAgbGliOiB7XG4gICAgICBlbnRyeTogcmVzb2x2ZShfX2Rpcm5hbWUsIFwibGliL21haW4udHNcIiksXG4gICAgICBmb3JtYXRzOiBbXCJlc1wiXSxcbiAgICB9LFxuICAgIHJvbGx1cE9wdGlvbnM6IHtcbiAgICAgIGV4dGVybmFsOiBbXCJyZWFjdFwiLCBcInJlYWN0L2pzeC1ydW50aW1lXCJdLFxuICAgICAgaW5wdXQ6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgLy8gaHR0cHM6Ly9yb2xsdXBqcy5vcmcvY29uZmlndXJhdGlvbi1vcHRpb25zLyNpbnB1dFxuICAgICAgICBnbG9iXG4gICAgICAgICAgLnN5bmMoXCJsaWIvKiovKi57dHMsdHN4fVwiLCB7XG4gICAgICAgICAgICBpZ25vcmU6IFtcImxpYi8qKi8qLmQudHNcIl0sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAubWFwKChmaWxlKSA9PiBbXG4gICAgICAgICAgICAvLyAxLiBUaGUgbmFtZSBvZiB0aGUgZW50cnkgcG9pbnRcbiAgICAgICAgICAgIC8vIGxpYi9uZXN0ZWQvZm9vLmpzIGJlY29tZXMgbmVzdGVkL2Zvb1xuICAgICAgICAgICAgcmVsYXRpdmUoXCJsaWJcIiwgZmlsZS5zbGljZSgwLCBmaWxlLmxlbmd0aCAtIGV4dG5hbWUoZmlsZSkubGVuZ3RoKSksXG4gICAgICAgICAgICAvLyAyLiBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgZW50cnkgZmlsZVxuICAgICAgICAgICAgLy8gbGliL25lc3RlZC9mb28udHMgYmVjb21lcyAvcHJvamVjdC9saWIvbmVzdGVkL2Zvby50c1xuICAgICAgICAgICAgZmlsZVVSTFRvUGF0aChuZXcgVVJMKGZpbGUsIGltcG9ydC5tZXRhLnVybCkpLFxuICAgICAgICAgIF0pLFxuICAgICAgKSxcbiAgICAgIG91dHB1dDoge1xuICAgICAgICBhc3NldEZpbGVOYW1lczogXCJhc3NldHMvW25hbWVdW2V4dG5hbWVdXCIsXG4gICAgICAgIGVudHJ5RmlsZU5hbWVzOiBcIltuYW1lXS5qc1wiLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXNXLFNBQVMsb0JBQW9CO0FBQ25ZLFNBQVMsU0FBUyxVQUFVLGVBQWU7QUFDM0MsU0FBUyxxQkFBcUI7QUFDOUIsT0FBTyxXQUFXO0FBQ2xCLE9BQU8sU0FBUztBQUNoQixTQUFTLFlBQVk7QUFMckIsSUFBTSxtQ0FBbUM7QUFBdUwsSUFBTSwyQ0FBMkM7QUFRalIsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sSUFBSSxFQUFFLGNBQWMsUUFBUSxrQ0FBVyxtQkFBbUIsRUFBRSxDQUFDO0FBQUEsRUFDL0Q7QUFBQSxFQUNBLE9BQU87QUFBQSxJQUNMLGVBQWU7QUFBQSxJQUNmLEtBQUs7QUFBQSxNQUNILE9BQU8sUUFBUSxrQ0FBVyxhQUFhO0FBQUEsTUFDdkMsU0FBUyxDQUFDLElBQUk7QUFBQSxJQUNoQjtBQUFBLElBQ0EsZUFBZTtBQUFBLE1BQ2IsVUFBVSxDQUFDLFNBQVMsbUJBQW1CO0FBQUEsTUFDdkMsT0FBTyxPQUFPO0FBQUE7QUFBQSxRQUVaLEtBQ0csS0FBSyxxQkFBcUI7QUFBQSxVQUN6QixRQUFRLENBQUMsZUFBZTtBQUFBLFFBQzFCLENBQUMsRUFDQSxJQUFJLENBQUMsU0FBUztBQUFBO0FBQUE7QUFBQSxVQUdiLFNBQVMsT0FBTyxLQUFLLE1BQU0sR0FBRyxLQUFLLFNBQVMsUUFBUSxJQUFJLEVBQUUsTUFBTSxDQUFDO0FBQUE7QUFBQTtBQUFBLFVBR2pFLGNBQWMsSUFBSSxJQUFJLE1BQU0sd0NBQWUsQ0FBQztBQUFBLFFBQzlDLENBQUM7QUFBQSxNQUNMO0FBQUEsTUFDQSxRQUFRO0FBQUEsUUFDTixnQkFBZ0I7QUFBQSxRQUNoQixnQkFBZ0I7QUFBQSxNQUNsQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K