diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 23c5a45..30dedae 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -2,24 +2,21 @@ ## [0.3.2](https://github.com/sprintertech/sprinter-sdk/compare/docs-v0.3.1...docs-v0.3.2) (2025-05-16) - ### Bug Fixes -* updated standard usdc pool address ([#157](https://github.com/sprintertech/sprinter-sdk/issues/157)) ([1d7f805](https://github.com/sprintertech/sprinter-sdk/commit/1d7f805851280185ef7f9627645935e4dc2cc962)) +- updated standard usdc pool address ([#157](https://github.com/sprintertech/sprinter-sdk/issues/157)) ([1d7f805](https://github.com/sprintertech/sprinter-sdk/commit/1d7f805851280185ef7f9627645935e4dc2cc962)) ## [0.3.1](https://github.com/sprintertech/sprinter-sdk/compare/docs-v0.3.0...docs-v0.3.1) (2025-05-09) - ### Bug Fixes -* **docs:** typos ([#155](https://github.com/sprintertech/sprinter-sdk/issues/155)) ([84e26e5](https://github.com/sprintertech/sprinter-sdk/commit/84e26e5f0439d8d4429f7936fd53d7d08804430e)) +- **docs:** typos ([#155](https://github.com/sprintertech/sprinter-sdk/issues/155)) ([84e26e5](https://github.com/sprintertech/sprinter-sdk/commit/84e26e5f0439d8d4429f7936fd53d7d08804430e)) ## [0.3.0](https://github.com/sprintertech/sprinter-sdk/compare/docs-v0.2.0...docs-v0.3.0) (2025-05-09) ### Features - -* **docs:** add improved Stash API Quick Start ([#153](https://github.com/sprintertech/sprinter-sdk/issues/153)) ([f19c411](https://github.com/sprintertech/sprinter-sdk/commit/f19c411311d60f0f8af76590d0435e9d7716bad8)) +- **docs:** add improved Stash API Quick Start ([#153](https://github.com/sprintertech/sprinter-sdk/issues/153)) ([f19c411](https://github.com/sprintertech/sprinter-sdk/commit/f19c411311d60f0f8af76590d0435e9d7716bad8)) ## [0.2.0](https://github.com/sprintertech/sprinter-sdk/compare/docs-v0.1.3...docs-v0.2.0) (2025-05-08) diff --git a/docs/docs/01-introduction/01-introduction.md b/docs/docs/01-introduction/01-introduction.md index 5c27a70..0130d1f 100644 --- a/docs/docs/01-introduction/01-introduction.md +++ b/docs/docs/01-introduction/01-introduction.md @@ -12,11 +12,11 @@ sidebar_position: 1 # -Sprinter envisions a decentralized, open and equitable financial system that provides opportunities for everyone. Our mission is to build the infrastructure that democratizes access to cross-chain liquidity and optimizes liquidity flows across DeFi. +Sprinter envisions a decentralized, open and equitable financial system that provides opportunities for everyone. Our mission is to build the infrastructure that democratizes access to crosschain liquidity and optimizes liquidity flows across DeFi. # What is Sprinter? -Sprinter combines solving-as-a-service infrastructure with credit-based cross-chain liquidity. It enables solvers to borrow and execute on-chain 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 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’s Core Products diff --git a/docs/docs/02-Stash/02-stash-contracts.md b/docs/docs/02-Stash/02-stash-contracts.md new file mode 100644 index 0000000..a954dbd --- /dev/null +++ b/docs/docs/02-Stash/02-stash-contracts.md @@ -0,0 +1,81 @@ +--- +id: liquidity-hub-pools +title: Sprinter Stash Contracts +sidebar_position: 113 +--- + +# Sprinter Stash + +Central to Sprinter Stash are the [**Sprinter Liquidity Hub**](liquidity-hub-pools#liquidity-hub), [**Liquidity Mining**](liquidity-hub-pools#liquidity-mining-contract) and [**Stash Pools**](liquidity-hub-pools#liquidity-pools) smart contracts which manages and distributes liquidity. + +Liquidity authorization is managed and controlled by Sprinter's [**Multi-Party Computation (MPC)**](liquidity-hub-pools#liquidity-authorization-via-mpc) network. + +## Liquidity Hub + +**Contract Address (Base):** +`0xa593A9bBBc65be342FF610a01e96da2EB8539FF2` + +### Functionality: + +- **Allocation:** Hub allocates liquidity across supported chains based on solver demand. +- **Yield:** Idle liquidity is deployed into lending protocols like Aave. +- **Withdrawals:** LPs redeem their LP tokens for USDC when available. + +## Liquidity Mining Contract + +**Contract Address (Base):** +`0x479D158959B59328E89f0fbF7DfeBb198c313C21` + +### Functionality: + +- **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. + +## Liquidity Pools + +Deployed across multiple chains, these on-chain vaults serve solver requests. + +### Key Pools + +- **Aave USDC Pool** (Base, OP, Arbitrum): + `0x7C255279c098fdF6c3116D2BecD9978002c09f4b` + +- **Standard USDC Pool** (Base, OP, Arbitrum): + `0xB58Bb9643884abbbad64FA7eBc874c5481E5c032` + +### Functionality + +- **Crosschain Execution:** Pools enable real-time execution of swaps and bridges. +- **Collateral-Free Borrowing:** Solvers access liquidity backed by hub-signed approvals. +- **Rebalancing:** Liquidity is auto-optimized across chains. +- **Risk Management:** Protocol maintains loan-to-value ratios to ensure solvency. + +## Liquidity Authorization via MPC + +Sprinter Stash relies on a secure **Multi-Party Computation (MPC)** network to authorize the release of credit and liquidity during cross-chain operations. + +### What the MPC Does + +- **Validates and Signs liquidity quotes**: When a solver calls the Stash API and is approved for a fill, the MPC validates the intent, user deposit and then co-signs the authorization. +- **Authorizes cross-chain releases**: The MPC authorizes any transfers required for inventory management across Stash Liquidity Pools and the Liquidity Hub (e.g., on Base, Arbitrum). +- **Enforces protocol limits**: MPC logic verifies borrowing caps, rate limits, and repayment preconditions before authorizing transactions. + +### Why MPC Matters + +- **Trust-Minimized Security**: No single signer can approve a transfer — it requires a quorum (e.g. 3-of-5 or 4-of-7 threshold). +- **Decentralized Control**: The MPC signer set is governed on-chain and can evolve over time as governance decentralizes. +- **Programmable Logic**: Validators inside the MPC check for vault solvency, repayment windows, and risk heuristics before signing. + +### Governance & Oversight + +The [**Super Admin Multisig**](/governance#2-super-admin-multisig) manages: + +- Rotation or upgrade of MPC key shares +- Approval and removal of validator nodes +- Emergency pauses or overrides to protect protocol funds + +The [**Operations Multisig**](/governance#1-operations-admin-multisig) may interact with MPC flows for day-to-day liquidity tuning, such as temporarily adjusting caps or triggering manual resets if required. + +> Note: MPC signing happens off-chain but is fully verifiable and auditable via Sprinter’s on-chain replay logs and relay receipts. diff --git a/docs/docs/02-Stash/02-stash-pools.md b/docs/docs/02-Stash/02-stash-pools.md deleted file mode 100644 index 1dae723..0000000 --- a/docs/docs/02-Stash/02-stash-pools.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: liquidity-hub-pools -title: Sprinter Stash Pools -sidebar_position: 113 ---- - -# Sprinter Stash Pools - -Central to both Sprinter Stash is the **Sprinter Stash Pools and Liquidity Hub**—the smart contract that manages and distributes liquidity. - -## Liquidity Hub - -**Contract Address (Base):** -`0xa593A9bBBc65be342FF610a01e96da2EB8539FF2` - -### Responsibilities: - -- **Depositing Liquidity:** LPs deposit USDC → receive `spUSDC-LP` tokens. -- **Allocation:** Hub allocates liquidity across supported chains based on solver demand. -- **Yield:** Idle liquidity is deployed into lending protocols like Aave. -- **Withdrawals:** LPs redeem their LP tokens for USDC when available. - -## Liquidity Pools - -Deployed across multiple chains, these on-chain vaults serve solver requests. - -### Key Pools - -- **Aave USDC Pool** (Base, OP, Arbitrum): - `0x7C255279c098fdF6c3116D2BecD9978002c09f4b` - -- **Standard USDC Pool** (Base, OP, Arbitrum): - `0xB58Bb9643884abbbad64FA7eBc874c5481E5c032` - -### Functionality - -- **Crosschain Execution:** Pools enable real-time execution of swaps and bridges. -- **Collateral-Free Borrowing:** Solvers access liquidity backed by hub-signed approvals. -- **Rebalancing:** Liquidity is auto-optimized across chains. -- **Risk Management:** Protocol maintains loan-to-value ratios to ensure solvency. diff --git a/docs/docs/03-Solve/02-solve-quick-start.md b/docs/docs/03-Solve/02-solve-quick-start.md index bcf38f5..ed0633f 100644 --- a/docs/docs/03-Solve/02-solve-quick-start.md +++ b/docs/docs/03-Solve/02-solve-quick-start.md @@ -23,19 +23,15 @@ This guide covers: ```mermaid flowchart TD - A[Intent Detected] --> B[Request estimated price and execution plan] - B --> C{Quote Acceptable/
Profitable?} - C -- No --> D[Abort or Re-query] - C -- Yes --> E[Get the finalized route and call data execution package] + A[Intent Detected] --> + E[Get the finalized route and call data execution package] E --> F[Simulate & Execute Transaction] F --> G[Send Transaction & Finalize Fill] -click B "solve-get-route-v2" "Borrow Quote" -style B fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold +click E "solve-get-route-v2" "Borrow Quote" +style E fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold -click F "solve-api-quick-start#4-send-transaction-using-swap_call_data" "Borrow Quote" -style F fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold ``` @@ -102,7 +98,7 @@ const route = await routeResponse.json(); // Send the calldata to the target contract (Sprinter Router or intent receiver) const tx = await signer.sendTransaction({ - to: route.to, // usually the router or intent execution contract + to: route.to, // the router or intent execution contract eg. 0xbfc4b3546416c5a7fa857bdb31b7701bfc7a42f7 for Sprinter Solve (Mainnet, Base) data: route.swap_call_data, value: route.value || 0, // only include if route requires native gas gasLimit: route.gasEstimate + 50000, // add buffer @@ -113,12 +109,10 @@ console.log("Transaction hash:", tx.hash); ## 4. Sprinter Solve Execution Tips -1. Start with `/quote` to quickly evaluate whether a fill is profitable. +1. Use tools like Tenderly or hardhat to **simulate calldata before execution**. -2. Use tools like Tenderly or hardhat to **simulate calldata before execution**. +2. **Pay attention to slippage** - Quotes expire quickly. Re-query /route before execution if delayed. -3. **Pay attention to slippage** - Quotes expire quickly. Re-query /route before execution if delayed. +3. Use **gasEstimate for accurate costing** - whilst the Route API provides gas estimates — apply buffer when setting gas limits. -4. Use **gasEstimate for accurate costing** - whilst the Route API provides gas estimates — apply buffer when setting gas limits. - -5. **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. +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. diff --git a/docs/docs/03-Solve/index.md b/docs/docs/03-Solve/index.md index 3e2adff..3edb460 100644 --- a/docs/docs/03-Solve/index.md +++ b/docs/docs/03-Solve/index.md @@ -21,16 +21,15 @@ Sprinter Solve enables the efficient execution of intent-based Swaps through its ```mermaid flowchart TD - A[Intent Detected] --> B[Request estimated price and execution plan] - B --> C{Quote Acceptable/
Profitable?} - C -- No --> D[Abort or Re-query] - C -- Yes --> E[Get the finalized route and call data execution package] + A[Intent Detected] --> + E[Get the finalized route and call data execution package] E --> F[Simulate & Execute Transaction] F --> G[Send Transaction & Finalize Fill] -click B "solve-get-route-v2" "Borrow Quote" -style B fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold +click E "solve-get-route-v2" "Borrow Quote" +style E fill:#FF9B43,stroke:#333,stroke-width:2px,color:#000,font-weight:bold + ``` ## Key Features & Utility diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 5861ef0..4997856 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -4,8 +4,6 @@ * work well for content-centric websites. */ -/* You can override the default Infima variables here. */ - @import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;700&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap"); diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 6019e9e..c879a44 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -2,18 +2,15 @@ ## [1.4.0](https://github.com/sprintertech/sprinter-sdk/compare/sprinter-react-v1.3.0...sprinter-react-v1.4.0) (2025-05-09) - ### Features -* **docs:** add improved Stash API Quick Start ([#153](https://github.com/sprintertech/sprinter-sdk/issues/153)) ([f19c411](https://github.com/sprintertech/sprinter-sdk/commit/f19c411311d60f0f8af76590d0435e9d7716bad8)) +- **docs:** add improved Stash API Quick Start ([#153](https://github.com/sprintertech/sprinter-sdk/issues/153)) ([f19c411](https://github.com/sprintertech/sprinter-sdk/commit/f19c411311d60f0f8af76590d0435e9d7716bad8)) ## [1.3.0](https://github.com/sprintertech/sprinter-sdk/compare/sprinter-react-v1.2.3...sprinter-react-v1.3.0) (2025-05-08) - ### Features -* staging changes to docs ([#146](https://github.com/sprintertech/sprinter-sdk/issues/146)) ([217be20](https://github.com/sprintertech/sprinter-sdk/commit/217be201118073cf5e01afedd5e6c213d10a5b5e)) - +- staging changes to docs ([#146](https://github.com/sprintertech/sprinter-sdk/issues/146)) ([217be20](https://github.com/sprintertech/sprinter-sdk/commit/217be201118073cf5e01afedd5e6c213d10a5b5e)) ### Bug Fixes diff --git a/packages/sdk/CHANGELOG.md b/packages/sdk/CHANGELOG.md index e543ca4..b70f0e7 100644 --- a/packages/sdk/CHANGELOG.md +++ b/packages/sdk/CHANGELOG.md @@ -2,18 +2,15 @@ ## [1.4.0](https://github.com/sprintertech/sprinter-sdk/compare/sprinter-sdk-v1.3.0...sprinter-sdk-v1.4.0) (2025-05-09) - ### Features -* **docs:** add improved Stash API Quick Start ([#153](https://github.com/sprintertech/sprinter-sdk/issues/153)) ([f19c411](https://github.com/sprintertech/sprinter-sdk/commit/f19c411311d60f0f8af76590d0435e9d7716bad8)) +- **docs:** add improved Stash API Quick Start ([#153](https://github.com/sprintertech/sprinter-sdk/issues/153)) ([f19c411](https://github.com/sprintertech/sprinter-sdk/commit/f19c411311d60f0f8af76590d0435e9d7716bad8)) ## [1.3.0](https://github.com/sprintertech/sprinter-sdk/compare/sprinter-sdk-v1.2.4...sprinter-sdk-v1.3.0) (2025-05-08) - ### Features -* staging changes to docs ([#146](https://github.com/sprintertech/sprinter-sdk/issues/146)) ([217be20](https://github.com/sprintertech/sprinter-sdk/commit/217be201118073cf5e01afedd5e6c213d10a5b5e)) - +- staging changes to docs ([#146](https://github.com/sprintertech/sprinter-sdk/issues/146)) ([217be20](https://github.com/sprintertech/sprinter-sdk/commit/217be201118073cf5e01afedd5e6c213d10a5b5e)) ### Bug Fixes