Documentation Index
Fetch the complete documentation index at: https://docs.skale.space/llms.txt
Use this file to discover all available pages before exploring further.
Currency identifiers in this page use exact onchain values (e.g.,
USDC.e on SKALE Base, eUSDC on SKALE Base Sepolia). In your UI you can display a normalized label like USDC.
Overview
The MPP SDK enables developers to integrate private, gasless payments into their applications on the SKALE Network. It provides support for:- Standard transfers on SKALE Base
- Gasless payments via EIP-3009 and EIP-2612 permits
- Encrypted transaction amounts via threshold encryption
- Confidential tokens for native privacy
Installation
Quick Start
Client-Side Usage
Server-Side Usage
Supported Chains
| Chain | Network | Chain ID |
|---|---|---|
skale-base | SKALE Base Mainnet | 1187947933 |
skale-base-sepolia | SKALE Base Sepolia Testnet | 324705682 |
base | Base Mainnet | 8453 |
base-sepolia | Base Sepolia | 84532 |
API Reference
mpp.charge(options)
Creates a payment method for MPP integration.
Parameters:
chain: string | Chain– Chain identifier (string) or custom viemChainobjectcurrency: string | CurrencyConfig– Currency identifier or custom configurationextensions?: object– Optional extensions for gasless and privacy features
PaymentMethod – Configured payment method for MPP
Extensions
Gasless Payments
Enable gasless transactions using EIP-3009 or EIP-2612. Users can pay without holding the native gas token (sFUEL/ETH) — transaction fees are deducted from the token being transferred.Encrypted Transaction Amounts
Encrypt transaction amounts onchain using threshold encryption. Amounts are hidden in the mempool until execution, then visible on the ledger. Requires a SKALE chain with Programmable Privacy.Confidential Tokens
Use native confidential tokens with fully shielded balances and transaction amounts that remain private even onchain. Currently available on SKALE Base Sepolia with tokens likeeUSDC.
Payment Strategies
The SDK supports various combinations of features:| Chain | Currency | Gasless | Encrypted | Confidential Token |
|---|---|---|---|---|
| skale-base | USDC.e | ✓ | Optional | No |
| skale-base-sepolia | eUSDC | ✓ | Always | Yes |
- Gasless: EIP-3009 transfer with authorization, eliminating gas fees
- Encrypted: Transaction “to” address and amounts encrypted in the mempool, visible on the ledger after execution
- Confidential Token: Native confidential tokens (e.g., eUSDC) provide fully shielded balances and amounts that remain private even onchain
Confidential Tokens and Re-encryption are currently in Beta on SKALE Base Sepolia. Encrypted Transactions and Conditional Transactions are available on both SKALE Base and SKALE Base Sepolia.
Custom Chains
You can use any viemChain object for custom chain configurations:
Best Practices
Choosing the Right Configuration
Pick the simplest setup that meets your privacy and UX needs. Standard transfers are fastest and most cost-effective; full privacy configurations provide maximum confidentiality.Testing
Always test payment flows on testnet before mainnet deployment:- Use
skale-base-sepoliafor testing - Verify gasless transactions work with your token contracts
- Test encrypted transaction decryption and retrieval
Browser Compatibility
When using the SDK in browser environments, you may need to polyfill For Vite, add to your For Webpack 5, add to your
Buffer. Install the buffer package and configure your bundler:vite.config.ts:webpack.config.js:Resources
- GitHub: https://github.com/skalenetwork/mpp-sdk
- MPP Protocol: https://mpp.dev/
