A DeFi primitive for the Movement ecosystem that enables on-chain, non-custodial strategy tokens powered by automated smart contract execution.
Perpetual Strategy Machines implements a "strategy token" model where each token embeds a predefined economic loop ("perpetual machine") that:
- Manages a treasury
- Executes automated buy/sell actions on target assets (NFTs)
- Applies supply control mechanisms (token burns)
- Creates a self-sustaining flywheel
This project adapts the emerging strategy token model into a reusable, Move-native framework for the Movement blockchain.
├── move/ # Move smart contracts
│ ├── sources/ # Contract source files
│ └── tests/ # Contract tests
├── frontend/ # Next.js frontend application
│ └── src/
│ ├── app/ # App Router pages
│ ├── components/ # UI components
│ ├── lib/ # Contract operations
│ └── hooks/ # React hooks
├── docs/ # Documentation
└── AGENTS.MD # Development commands reference
- Movement CLI
- Node.js v18+
- Movement-compatible wallet (e.g., Nightly)
cd move
# Compile
movement move compile --skip-fetch-latest-git-deps
# Test
movement move test
# Deploy
movement move publish --profile YOUR_PROFILEcd frontend
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your MODULE_ADDRESS
# Start development server
npm run devOpen http://localhost:3000 to access the application.
| Module | Purpose |
|---|---|
strategy |
Perpetual strategy execution engine |
pool |
Uniswap V2-style AMM |
marketplace |
NFT marketplace with escrow |
nft_collection |
RatherRobots NFT collection |
rather_token |
Deflationary strategy token |
wmove |
Wrapped MOVE token |
factory |
Pool registry |
lp_token |
Liquidity provider tokens |
vault |
Fungible asset storage |
math |
Safe arithmetic operations |
errors |
Centralized error codes |
The perpetual machine operates as a continuous loop:
- Treasury holds WMOVE as operating capital
- Floor Buy - Anyone triggers purchase of lowest-priced NFT
- Premium Relist - NFT is relisted at 10% premium
- Sale Proceeds - Treasury collects MOVE when NFT sells
- Buyback - Anyone triggers swap of proceeds for RATHER tokens
- Burn - Purchased RATHER tokens are permanently burned
All actions are permissionless - anyone can trigger them using treasury funds.
- ✅ Uniswap V2-style AMM with configurable fees
- ✅ LP tokens for liquidity providers
- ✅ Wrapped MOVE (WMOVE) token
- ✅ 10,000 max supply NFT collection
- ✅ Fixed-price marketplace with escrow
- ✅ Configurable marketplace fees
- ✅ Permissionless execution
- ✅ Automated floor buying
- ✅ Premium relisting (10%)
- ✅ Buy & burn mechanism
- ✅ On-chain treasury accounting
- ✅ Wallet integration (Nightly)
- ✅ Strategy dashboard
- ✅ Liquidity management
- ✅ NFT marketplace interface
- ✅ Admin panel
- Perpetual Strategy Machines - Detailed project documentation
- AGENTS.MD - Development commands and CLI testing guide
- Frontend README - Frontend setup and architecture
- Move README - Smart contract details
cd move
movement move compile && movement move testcd frontend
npm run devSee AGENTS.MD for complete end-to-end testing commands including:
- Contract deployment
- Module initialization
- Token minting
- Pool creation
- Swap execution
- Strategy actions
- Signer-based authorization for admin functions
- Safe arithmetic operations (overflow protection)
- Escrow mechanism for NFT trades
- Slippage protection for swaps
- Move ownership model prevents double-spending
MIT
- AMM implementation based on Movement DeFi Examples
- Strategy token model inspired by PunkStrategy