Nest is Plume's real-world asset protocol. It gives onchain access to real-world yield through structured Vaults.
This repository contains the Nest smart contracts and their operational tooling. The vault stack complies with ERC-4626, ERC-7540, and ERC-7575. It standardizes synchronous and asynchronous deposits and redemptions. Shares move across chains through LayerZero OFT. Assets stay on their origin chain.
The stack has two operating modes:
- Existing BoringVault deployments.
NestVaultOFTis the entry point. It pairs withNestShareOFTto bridge shares over LayerZero OFT. The legacy BoringVault stays on one chain. Users move shares across chains. - New deployments.
NestVaultis the entry point. It speaks toNestShareOFT, a refined BoringVault replacement with native cross-chain shares.
Compliance and integrations:
- KYC gating. V1 deployments use
NestVaultPredicateProxy. V2 deployments useComplianceProxywith a provider-specific hook. See Compliance flow. - Pendle Finance.
BoringVaultSYwraps Nest vault shares as Pendle SY tokens. It reads the accountant rate and supports Merkl reward claims. - BoringVault. This repository uses the BoringVault accountant and rate-provider contracts. It does not ship the base BoringVault.
For protocol documentation, see app.plume.org/docs.
| Path | Contents |
|---|---|
contracts/ |
Production Solidity contracts |
script/ |
Foundry deployment scripts (deploy/, setup/, simulate/, dev/, shared code in lib/) |
programs/ |
Solana OFT program (Anchor) |
tools/ |
Standalone TypeScript, JavaScript, and shell commands |
tasks/ |
Hardhat task registrations (LayerZero and Solana operations) |
config/ |
Reviewed protocol configuration |
deployments/ |
Published deployment records |
audits/ |
Final audit reports |
test/ |
Foundry and Jest tests |
Install the dependencies:
pnpm installBuild the contracts:
forge buildRun the tests:
forge test # Foundry tests
pnpm test:solana # Jest tests for the Solana task layerDeployments read reviewed inputs and write their run output to ignored directories:
- Edit the deployment inputs in
script/deployment-config/vaults/<SYMBOL>.jsonandscript/deployment-config/common/<chainId>.json. - Run the Foundry scripts in
script/deploy/andscript/setup/. - The scripts write Safe batches and deployment records to
script/output/. This directory is not versioned. - Review the output. Promote values that must persist into
script/deployment-config/,config/, ordeployments/.
Deployment guide describes the full procedure.
CI publishes two npm packages to GitHub Packages on each push to main or develop:
@plumenetwork/nest-artifacts— contract ABIs, creation bytecode, per-chain configuration, and a source-verification surface. Built bytools/build-artifact-bundle.mjsafterforge build.@plumenetwork/nest-solana-deploy— the runnable Solana LayerZero task layer. Built bytools/build-solana-deploy-package.mjs.
Mission Control consumes both packages. It pins the repo-relative paths of the files inside nest-solana-deploy and verifies that the repo path equals the package path. Do not move these without a matching Mission Control change:
hardhat.config.ts,tsconfig.jsontasks/**script/solana-layerzero.config.tsscript/deployment-config/vaults/script/solana-lz-abi/deployments/solana-mainnet/,deployments/plumephoenix/tools/build-solana-deploy-package.mjs(the builder path that Mission Control invokes)script/output/(ignored runtime handoff path, never committed)
Vault core
- contracts/README.md — deposit, redemption, and vault-fee flow, user and operator side.
- contracts/auth/README.md — authorization model, roles, holders, and capabilities.
- contracts/accountant/README.md — exchange rate, management fee, performance fee.
- contracts/compliance/README.md — KYC gating, transfer restrictions, seizure.
Integrations
- contracts/integrations/morpho/README.md — leveraged-loop integration.
- contracts/integrations/pendle/README.md — Pendle SY wrapper.
- contracts/integrations/cctp/README.md — Circle CCTP cross-chain USDC relay.
- contracts/integrations/ovault/README.md — LayerZero OFT cross-chain shares.
Operations
- Operators guide — authority setup, timelocks, and the emergency-control table.
- Deployment guide — deploy, test, upgrade, and role-revocation procedures.
- Deployed contracts — contract addresses per chain and vault (public docs).
- audits/ — final audit reports.
Release history
- CHANGELOG.md — contract version history.