Production vault · PulseChain
Borrow USDC. Return it atomically.
The pNAS Yield Flash Vault turns USDC received by a permanently committed pNAS position into open ERC-3156 flash liquidity. Any compatible borrower contract can access available USDC if it returns principal plus the quoted fee before the transaction ends. The standard rate is 0.01%, rounded up, with a ten-base-unit minimum.
System architecture
pNAS yield becomes USDC lending power.
The vault holds productive pNAS, receives its USDC distributions, and makes eligible USDC available to skilled operators with profitable atomic paths. pNAS itself is never priced, transferred, lent, or treated as collateral.
Atomic execution
Open access. Hard settlement.
The vault does not choose a strategy or underwrite a borrower. It verifies one result: the same transaction must restore principal and pay the quoted fee.
Quote
Read available capacity with maxFlashLoan and the exact charge with flashFee.
Borrow
Your compatible receiver requests USDC through the ERC-3156 flashLoan entry point.
Execute
The receiver runs its pre-engineered atomic route across compatible venues and contracts.
Repay
The receiver approves principal plus the quoted fee for collection by the vault.
Settle
Success commits the full bundle. Any repayment shortfall reverts the entire transaction.
Anyone can borrow what they can atomically repay. Capacity is limited only by current eligible USDC, the configured vault cap, and the transaction’s ability to return principal plus fee.
No credit check · No allowlistBorrower engineering
Liquidity does not define your route. Your contract does.
The opportunity-finding logic lives outside the vault. Borrower-contract creators identify the path, encode its safeguards, and decide whether expected output clears every cost before calling the lender.
Receiver checklist
Production requirements
- Implement ERC-3156. Expose
onFlashLoanand return the required callback hash. - Authenticate context. Verify the vault, USDC token, initiator, amount, and route parameters.
- Quote on-chain. Read the fee immediately before execution; never assume a stale value.
- Enforce profitability. Revert unless output covers principal, fee, venue costs, slippage, and your threshold.
- Bound every external call. Use deadlines, minimum outputs, exact approvals, and explicit target allowlists.
- Approve repayment. Make principal plus fee collectible before the callback returns.
// 1. Read executable capacity and exact fee
uint256 max = vault.maxFlashLoan(USDC);
uint256 fee = vault.flashFee(USDC, amount);
// 2. Require a route with sufficient net output
require(amount <= max, "CAPACITY");
require(quotedOut > amount + fee + minSurplus,
"NO_EDGE");
// 3. Start one atomic bundle
vault.flashLoan(
IERC3156FlashBorrower(address(this)),
USDC,
amount,
routeData
);
// 4. Inside onFlashLoan:
executeBoundedRoute(routeData);
USDC.forceApprove(address(vault), amount + fee);
return keccak256(
"ERC3156FlashBorrower.onFlashLoan"
);
Specialist surface: this outline is not a drop-in strategy. Borrower contracts require serious Solidity, integration, and transaction-simulation skill.
Fee model
One transparent borrower fee.
Regular-sized loans pay 0.01% of principal. A minimum charge of ten USDC base units prevents a zero-fee result on very small amounts.
10 base units = 0.000010 USDC
| Principal | Quoted fee |
|---|---|
| 0.01 USDC | 0.000010 USDC minimum |
| 100 USDC | 0.01 USDC |
| 5,555 USDC | 0.5555 USDC |
Execution threshold
Your path must clear the full stack.
A route is economically viable only when its output exceeds every repayment and execution cost. The vault cannot guarantee opportunity, route availability, or transaction inclusion.
> principal + vault fee + venue costs + gas + safety margin
- Simulate at the target block. State can move before inclusion.
- Use a minimum surplus. Never execute at a zero-margin quote.
- Expect reverts. Atomicity protects principal, not the borrower’s gas.
Vault flywheel
Productive holdings. Reusable liquidity.
The main vault permanently holds its committed pNAS. USDC distributed to that contract can become flash-lendable liquidity; successful loans add fees to the system without leaving borrower debt open between blocks.
pNAS produces USDC
The asset’s native distribution sends USDC directly to the holder—the vault contract.
Eligible balance sets lending power
Executable capacity is the lesser of available USDC and the operator-configured flash-loan cap.
Atomic fees reinforce the pool
Every settled loan returns principal plus fee. Failed repayment never leaves an undercollateralized position behind.
Factory expansion is modular
The architecture supports factory-launched satellite vaults backed by their own permanent pNAS commitments; main-vault access remains independent.
Security model
Atomic by design—not risk free.
The vault removes open-term borrower credit exposure from the lending loop. It does not remove smart-contract, token, venue, liquidity, sequencing, or gas risk.
Protocol protections
Settlement invariants
- Only the configured USDC asset is flash-lendable.
- Principal plus fee must return before transaction completion.
- Invalid callback response or repayment failure reverts atomically.
- Available balance and operator cap jointly constrain loan size.
- Pause controls can stop new lending during incident response.
Operator controls
Liquidity stewardship
Eligible new USDC is subject to the vault’s creator-flush accounting: 99% may be flushed by the designated creator while the cumulative 1% protected share remains flash-lendable. Borrowers must read live capacity immediately before execution.
Canonical main vault
Integrate against the live contract.
Read maxFlashLoan and flashFee from the contract,
then submit the atomic loan through your audited ERC-3156 receiver.