Integrating Particle Network (chain abstraction)
We often face the task of building a universal dApp that works across multiple blockchains. Users want to interact with a protocol on Base while having funds on Ethereum. The standard approach — manual bridging — requires 3–5 transactions, up to 30 minutes waiting, and high gas costs. Particle Network solves this with Universal Accounts: one account, one balance, one signature for any chain. This is the next step after Account Abstraction — abstraction not only of the wallet but of the entire multi-chain environment.
Our experience shows: basic integration takes 2–3 weeks, and full integration with Universal Accounts takes up to 6 weeks. Below we break down the key components and the connection process.
What problems does chain abstraction solve?
Multi-transaction complexity. Users perform 3–5 operations instead of one: approve on Ethereum, bridge, approve on target chain, then the main transaction. Particle Network compresses this into a single operation, automatically selecting the optimal liquidity source. According to Particle Network documentation, Universal Accounts reduce transactions by 3–5 times, and gas savings can reach 60% — for active users, this means thousands of dollars per month.
Gas complexity. Each blockchain requires its own native token for fees. Universal Gas allows paying gas with any ERC-20 token (USDC, USDT, ETH) — conversion happens automatically.
Latency and liquidity. Users must wait for bridge transaction confirmations (up to 30 minutes) and monitor bridge liquidity. Particle Network uses a cross-chain layer that aggregates multiple bridges (Axelar, LayerZero, Wormhole) for instant operations. Recently we integrated Particle Network for a DeFi protocol on 5 chains: transaction time dropped 3x, and user churn due to complexity decreased by 40%.
How we implement integration: stack and configuration
Connect Kit — the entry point
import { ConnectButton, useAccount, usePublicClient } from "@particle-network/connectkit";
import { mainnet, base, polygon } from "@particle-network/connectkit/chains";
import { AuthType } from "@particle-network/auth-core";
// Provider setup
export default function App() {
return (
<ConnectKitProvider
config={{
projectId: "YOUR_PROJECT_ID",
clientKey: "YOUR_CLIENT_KEY",
appId: "YOUR_APP_ID",
chains: [mainnet, base, polygon],
walletConnectors: [
evmWalletConnectors({
metadata: { name: "Your App" },
multiInjectedProviderDiscovery: true,
}),
authWalletConnectors({
authTypes: [AuthType.email, AuthType.google, AuthType.twitter],
fiatCoin: "USD",
promptSettingConfig: {
promptMasterPasswordSettingWhenLogin: 1,
},
}),
],
plugins: {
wallet: {
visible: true,
},
},
}}
>
<YourApp />
</ConnectKitProvider>
);
}
Universal Account for cross-chain operations
import { useUniversalAccount } from "@particle-network/universal-account-sdk";
function CrossChainButton() {
const { smartAccount } = useUniversalAccount();
async function executeOnBase() {
const transaction = {
to: BASE_CONTRACT_ADDRESS,
value: parseEther("0.1"),
data: encodeFunctionData({ abi, functionName: "deposit" }),
chainId: 8453, // Base
};
// The system automatically:
// 1. Checks user balances across all chains
// 2. Selects optimal liquidity source
// 3. Performs cross-chain operation if needed
// 4. Executes transaction on Base
const txHash = await smartAccount.sendTransaction(transaction, {
feeQuotes: await smartAccount.getFeeQuotes(transaction),
});
console.log(`Transaction: ${txHash}`);
}
return <button onClick={executeOnBase}>Execute on Base</button>;
}
Universal Gas in practice
const feeQuotes = await smartAccount.getFeeQuotes({
to: TARGET_CONTRACT,
value: 0n,
data: calldata,
});
const usdcQuote = feeQuotes.find(q => q.tokenInfo.symbol === "USDC");
const txHash = await smartAccount.sendTransaction(tx, {
feeQuote: usdcQuote,
tokenPaymaster: usdcQuote.tokenPaymaster,
});
Why choose Universal Accounts?
With Particle Network, transaction count is reduced by 3–5x compared to traditional bridges, and gas costs are cut by up to 60% thanks to payment in cheap stablecoins. This solution is 2x faster to integrate than alternatives. Users get a unified experience without knowing about internal bridges or tokens. For developers — one SDK and one integration for all chains.
What's included in the integration work?
| Phase | Duration | Result |
|---|---|---|
| Audit of current dApp and requirements | 2–3 days | Technical specification with complexity estimate |
| Particle Chain and Dashboard setup | 1–2 days | Created projectId, clientKey, appId |
| Connect Kit + Social Login integration | 3–5 days | Working login via email, Google, Twitter |
| Universal Gas configuration | 2–3 days | Gas paid with any ERC-20 token |
| Cross-chain operations implementation | 5–10 days | Universal Account for multi-chain interaction |
| Testing on testnet | 3–5 days | Verified operation on Polygon, Base, Ethereum |
| Mainnet deployment + 30-day support | 3–5 days | Full support and documentation |
Estimated timelines
Basic flow (social login + embedded wallet + gasless) — from 2 to 3 weeks. Adding Universal Accounts with cross-chain logic — another 1–2 weeks. Full customization with non-standard features — up to 6 weeks. Cost is calculated individually; we guarantee a fixed price after audit. Contact us for an accurate project estimate.
Step-by-step integration guide
- Register your project in Particle Dashboard.
- Install packages:
npm install @particle-network/connectkit @particle-network/universal-account-sdk. - Configure the provider with your keys.
- Implement social or email login.
- Add getFeeQuotes call for gas payment with any token.
- Use smartAccount.sendTransaction for cross-chain operations.
- Test on testnet before mainnet deployment.
Common integration mistakes
| Mistake | How to avoid |
|---|---|
| Incorrect feeQuotes configuration | Always verify token support via getFeeQuotes before sending |
| Ignoring testnet | Test all cross-chain scenarios on Goerli/Sepolia |
| Suboptimal chain selection | Use only chainIds where your contract is deployed |
| Missing error events | Handle callbacks from smartAccount.sendTransaction |
Technical detail: Paymaster configuration for Universal Gas
To use Universal Gas, you must register tokens in the Particle Network Dashboard. The Paymaster automatically deducts fees in the chosen token. Example configuration:
{
"paymaster": {
"tokens": ["USDC", "USDT", "ETH"],
"feeQuotesLimit": 3
}
}
Ensure your contract supports EIP-2771 for gasless transactions.
Our team has years of Web3 experience and has successfully delivered 10+ projects with chain abstraction for DeFi, NFT, and gaming. Get a free consultation — write to us for a project evaluation. We'll help you choose the optimal stack and timelines.
Additional resources: Particle Network documentation on GitHub.







