Privacy-preserving parallel DeFi on Arcology with 10k+ TPS, powered by EVVM Fisher bots.
Shadow Nox is a privacy-preserving, high-performance decentralised finance (DeFi) protocol built on Arcology's parallel execution blockchain, designed to create a "dark-pool-like" trading environment while maintaining verifiable aggregate metrics. The project demonstrates the potential of parallel blockchain execution combined with privacy-focused architecture to enable institutional-grade DeFi operations.
Traditional DeFi platforms face three critical challenges:
Shadow Nox addresses all three by combining Arcology's parallel execution (10,000-15,000 TPS), privacy-preserving intent architecture, and 100x lower gas costs.
Arcology serves as the smart contract execution environment, processing thousands of transactions simultaneously across multiple EVM instances. Key features:
Shadow Nox implements a privacy-preserving model where individual transaction details are stored as bytes on-chain while maintaining public aggregate metrics:
Private (Intent Data as Bytes):
Public (Aggregate Metrics):
This creates a "dark pool" experience where traders can execute large orders without revealing their strategies, while regulators and users can still verify protocol health through aggregate data.
A critical innovation in the Shadow Nox is solving the oracle challenge on Arcology:
Problem: Pyth Network's on-chain contracts are NOT deployed on the Arcology blockchain.
Solution: Custom Oracle architecture that:
This approach maintains data integrity and real-world price accuracy while being fully compatible with Arcology's execution model.
Shadow Nox uses EVVM as a Fisher/Relayer bot infrastructure (not as the execution layer). Fisher bots provide:
Users interact through messaging platforms, sign intents with EIP-191, and Fisher bots handle blockchain executionβcreating a seamless, non-technical user experience.
Privacy-preserving token swap contract with:
Decentralised lending/borrowing protocol featuring:
Custom Oracle solution providing:
Arcology-optimised counter for aggregate metrics:
Parallel DeFi Primitives: First implementation of high-throughput DeFi operations leveraging Arcology's 10k+ TPS capacity
Privacy Without Full Encryption: Intent-data-as-bytes approach provides privacy while maintaining smart contract logic transparency (MVP approach, with full encryption planned)
Off-Chain Oracle Bridge: Custom solution to integrate Pyth's real-time price feeds on blockchains where Pyth isn't deployed
Fisher Bot Economy: Decentralised relayer network with incentive mechanisms for gasless user experiences
Storage-Optimised Counters: The AtomicCounter pattern minimises conflicts in parallel execution environments
Private Trading: Execute large token swaps without revealing strategy or moving markets. Ideal for whales and institutional traders.
Dark Pool Liquidity: Match large orders off the visible order book while maintaining price discovery through aggregate metrics.
Private Lending: Borrow and lend assets with confidential position management. Only you see your collateral and debt levels.
High-Frequency Operations: 10,000-15,000 TPS enables DeFi strategies previously impossible due to throughput constraints.
Gasless UX: Messaging app integration with Fisher bot relay makes DeFi accessible to non-technical users.
Shadow Nox represents a vision for next-generation DeFi where:
The project demonstrates that blockchain scalability, privacy, and usability can coexist through innovative architecture combining parallel execution, privacy-preserving intent systems, and user-friendly relay networks.
Shadow Nox is built as a multi-layered system that bridges three distinct blockchain/infrastructure technologies into a cohesive privacy-preserving DeFi protocol. Here's how we pieced it all together:
// hardhat.config.js - Arcology is just another EVM network!
arcologyDevnet: {
url: "http://localhost:8545",
chainId: 1234,
timeout: 60000, // Longer timeout for parallel execution batches
gasPrice: "auto"
}
The Hack: Arcology's parallel execution works automatically, but we discovered you can maximize throughput by designing smart contracts with storage-slot isolation. We created the AtomicCounter pattern specifically for this.
The Problem We Hit: Halfway through development, we discovered Pyth Network's smart contracts don't exist on Arcology. Pyth only deploys to major chains, and Arcology wasn't supported.
The Clever Solution: We built a hybrid oracle that gets the best of both worlds:
// Fetching real Pyth prices via Hermes API
const url = new URL('https://hermes.pyth.network/v2/updates/price/latest');
url.searchParams.append('ids[]', ETH_USD_FEED_ID);
const response = await fetch(url.toString());
const priceData = await response.json();
// Then push to our on-chain oracle
await customOracle.updatePrice(
priceId,
priceData.parsed[0].price.price,
priceData.parsed[0].price.conf,
priceData.parsed[0].price.expo,
priceData.parsed[0].price.publish_time
);
What makes this notable:
// User sends message β Bot processes β Constructs transaction
export async function processSwapIntent(userId, swapData) {
// Get user's personal wallet (generated on first interaction)
const userWallet = userWalletManager.getOrCreateUserWallet(userId);
// Construct EIP-191 signature for EVVM Fisher network
const fisherSignature = await constructFisherSignature(swapData, userWallet);
// Submit to Arcology with async nonce
const asyncNonce = await getNextAsyncNonce(userId);
const tx = await swapContract.submitSwapIntent(intentData, asyncNonce);
// Update prices from Pyth
await updateOnChainPrices(oracleContract, ['ETH/USD', 'BTC/USD'], userWallet);
return { success: true, txHash: tx.hash };
}
The Hack: We created a personal wallet system where each Telegram/WhatsApp user gets a deterministic wallet derived from their user ID. Bots hold the keys, making it fully gasless for users.
This is our most "hacky" innovation for squeezing maximum TPS from Arcology:
The Problem: Shared counters create storage-slot conflicts in parallel execution. If 100 swaps try to increment totalSwapVolume simultaneously, they conflict and reduce to sequential execution.
The Solution: Separate counter contracts per metric:
// Instead of one counter for everything...
contract EncryptedSwap {
uint256 public totalSwapVolume; // β CONFLICT BOTTLENECK
uint256 public totalSwapCount; // β CONFLICT BOTTLENECK
// We do this:
AtomicCounter public totalSwapVolume; // β
Separate contract = separate storage
AtomicCounter public totalSwapCount; // β
Separate contract = separate storage
}
Each AtomicCounter is its own contract with its own storage space, minimizing conflicts. On Arcology, this can mean 3x higher TPS for write-heavy operations.
The frontend connects directly to Arcology via JSON-RPC, treating it like any other EVM chain.
The Approach: Instead of full encryption (which would require off-chain execution), we use intent data as bytes:
struct SwapIntent {
address user;
bytes intentData; // ABI-encoded parameters - not human-readable by default
uint256 timestamp;
bool executed;
}
Transaction parameters are ABI-encoded before storage, making them non-trivial to parse without knowing the encoding schema. Public aggregate metrics remain visible for transparency.
Integration Tests: We simulate parallel execution by running multiple users' transactions in rapid succession:
// From Integration.test.js - Parallel swap test
const users = [user1, user2, user3, user4, user5];
const promises = users.map(async (user) => {
const intentData = createIntentData(...);
return encryptedSwap.connect(user).submitSwapIntent(intentData);
});
// All execute in parallel on Arcology
await Promise.all(promises);
Real Pyth Testing: We built test-pyth.js to verify real-time price fetching:
$ node test-pyth.js
π‘ Fetching real-time prices from Pyth Hermes API...
β ETH/USD $3,245.67 Β± $2.34 (2s ago)
β BTC/USD $67,891.23 Β± $45.67 (3s ago)
Our deployment script (deploy.js) is smart about Arcology:
const isArcology = networkName.includes("arcology");
if (isArcology) {
console.log("β¨ Arcology Parallel Blockchain Optimizations:");
console.log(" β AtomicCounter for conflict-resistant metrics");
console.log(" β Expected Performance: 10,000-15,000 TPS");
}
It auto-detects Arcology networks and configures optimizations accordingly, generating .env.arcology with all contract addresses and counter instances.
Arcology Benefits:
Pyth Integration (via Hermes):
EVVM Fisher Network:
"Pyth Without Pyth": Building a custom oracle that mirrors Pyth's data structures without their on-chain contracts
AtomicCounter Pattern: Separate contract instances for each metric to eliminate parallel execution conflicts
Personal Wallet System: Deterministic wallet generation from Telegram/WhatsApp user IDs for seamless onboarding
Storage-Slot Isolation: Designing contracts so different users touch different storage slots (max parallelism)
Intent-as-Bytes Privacy: Simple privacy without full encryption overhead - MVP that works today, upgradeable to full encryption later
Hardhat Arcology Simulation: Using blockGasLimit: 30000000 in Hardhat config to simulate high-throughput environment
Batch Price Updates: Single transaction updates multiple price feeds (gas optimization)
Auto-Retry Logic: Fisher bots automatically retry failed transactions (Arcology optimistic concurrency occasionally conflicts)
On Arcology DevNet (local testing):
This project demonstrates that institutional-grade DeFi (10k+ TPS, low gas, privacy-preserving) is possible today with creative use of emerging blockchain technologies.

