
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@crunchdao/coordinator-cli
Advanced tools
CrunchDAO Coordinator Management CLI - Competition lifecycle management
The Coordinator CLI (@crunchdao/coordinator-cli
) provides competition management operations for the CrunchDAO Protocol. This includes coordinator registration, competition lifecycle management (creating, starting, ending competitions), reward distribution, and checkpoint operations.
For participant operations (cruncher registration, model submission, claiming rewards), see @crunchdao/cruncher-cli
.
npm install -g @crunchdao/coordinator-cli
crunch-coordinator <command> [options] [arguments]
crunch-coordinator crunch <subcommand> [options] [arguments]
All commands support these global options:
-n, --network <network>
- Solana network (localnet, devnet, mainnet)-w, --wallet <wallet>
- Path to wallet keypair file-l, --loglevel <level>
- Log level (debug, info, warn, error)-m, --multisig <address>
- Squads multisig address for coordinator operationsWhen the --multisig
parameter is provided, commands will create multisig proposals instead of executing directly. This is the recommended approach for production environments where coordinator operations need approval from multiple parties.
The following critical operations support multisig proposals:
register
- Register new coordinatorscrunch create
- Create new competitionscrunch start
- Start competitionscrunch end
- End competitionscrunch deposit-reward
- Deposit USDC rewardscrunch drain
- Drain remaining USDCDirect execution (current behavior):
crunch-coordinator crunch create "AI Competition" 1000 2
Multisig proposal mode:
crunch-coordinator --multisig 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM crunch create "AI Competition" 1000 2
--multisig
parameterregister
Register a new coordinator with the protocol.
Usage:
crunch-coordinator register <name>
Arguments:
name
- Unique name for the coordinatorExample:
crunch-coordinator register "AI Research Lab"
Description: Registers the wallet as a coordinator with the given name. The coordinator must later be approved by protocol admins before they can create competitions.
Requirements:
get
Get coordinator details by owner address.
Usage:
crunch-coordinator get [owner]
Arguments:
owner
- Owner address of the coordinator (optional, defaults to current wallet)Examples:
# Get coordinator details for a specific address
crunch-coordinator get "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"
# Get coordinator details for current wallet
crunch-coordinator get
Description: Retrieves detailed information about a coordinator including registration status and metadata.
get-config
Get coordinator configuration from the protocol.
Usage:
crunch-coordinator get-config
Example:
crunch-coordinator get-config
Description: Displays the current coordinator configuration including protocol parameters and settings.
All competition management commands are grouped under the crunch
subcommand:
crunch create
Create a new competition (crunch).
Usage:
crunch-coordinator crunch create <name> [payoutAmount] [maxModelsPerCruncher]
Arguments:
name
- Name of the crunchpayoutAmount
- Payout amount in USDC (default: 10)maxModelsPerCruncher
- Maximum models per cruncher (default: 2)Example:
# Direct execution
crunch-coordinator crunch create "Q4 2024 Trading Challenge" 10000 5
# Multisig proposal
crunch-coordinator --multisig <multisig-address> crunch create "Q4 2024 Trading Challenge" 10000 5
Description: Creates a new competition with the specified parameters. The creator must be an approved coordinator.
Requirements:
crunch start
Start a competition.
Usage:
crunch-coordinator crunch start <crunchName>
Arguments:
crunchName
- Name of the crunch to startExample:
crunch-coordinator crunch start "Q4 2024 Trading Challenge"
Description: Transitions a competition from created state to active state, allowing crunchers to register and submit models.
Requirements:
crunch address
Get the account address for a competition.
Usage:
crunch-coordinator crunch address <crunchName>
Arguments:
crunchName
- Name of the crunchExample:
crunch-coordinator crunch address "Q4 2024 Trading Challenge"
Description: Returns the Solana public key address of the specified competition account.
crunch get
Get detailed information about a competition.
Usage:
crunch-coordinator crunch get <name>
Arguments:
name
- Name of the crunchExample:
crunch-coordinator crunch get "Q4 2024 Trading Challenge"
Description: Retrieves comprehensive information about a competition including its state, configuration, participants, and financial details.
crunch end
End a competition.
Usage:
crunch-coordinator crunch end <crunchName>
Arguments:
crunchName
- Name of the crunch to endExample:
crunch-coordinator crunch end "Q4 2024 Trading Challenge"
Description: Transitions a competition to ended state, preventing new registrations and model submissions.
Requirements:
crunch deposit-reward
Deposit reward USDC to a competition.
Usage:
crunch-coordinator crunch deposit-reward <crunchName> <amount>
Arguments:
crunchName
- Name of the crunchamount
- Amount in USDC to depositExample:
crunch-coordinator crunch deposit-reward "Q4 2024 Trading Challenge" 5000
Description: Deposits USDC tokens to fund the reward pool for the specified competition.
Requirements:
crunch margin
Execute margin payout for a competition.
Usage:
crunch-coordinator crunch margin <crunchName>
Arguments:
crunchName
- Name of the crunchExample:
crunch-coordinator crunch margin "Q4 2024 Trading Challenge"
Description: Processes margin-based payouts for competition participants based on their performance.
crunch drain
Drain USDC from a competition.
Usage:
crunch-coordinator crunch drain <crunchName> [--show-solscan]
Arguments:
crunchName
- Name of the crunchOptions:
--show-solscan
- Show Solscan links for transactionsExample:
crunch-coordinator crunch drain "Q4 2024 Trading Challenge" --show-solscan
Description: Withdraws remaining USDC from a competition's reward pool back to the coordinator.
crunch checkpoint-create
Create a checkpoint for payout distribution.
Usage:
crunch-coordinator crunch checkpoint-create <crunchName> <prizeFileName> [--dryrun]
Arguments:
crunchName
- Name of the crunchprizeFileName
- Path to prize JSON file containing payout distributionOptions:
--dryrun
- Perform a dry run without executing transactionsExample:
crunch-coordinator crunch checkpoint-create "Q4 2024 Trading Challenge" "./prizes.json"
Prize File Format:
{"timestamp": 1840417288969, "model": "model_1", "prize": 456.78}
{"timestamp": 1840417288969, "model": "model_2", "prize": 412.34}
{"timestamp": 1840417288969, "model": "model_3", "prize": 130.88}
Description: Creates a new checkpoint with specified prize distribution, enabling participants to claim their rewards.
crunch checkpoint-get-current
Get the current checkpoint information.
Usage:
crunch-coordinator crunch checkpoint-get-current <crunchName>
Arguments:
crunchName
- Name of the crunchExample:
crunch-coordinator crunch checkpoint-get-current "Q4 2024 Trading Challenge"
Description: Retrieves information about the current active checkpoint including total amount and distribution details.
crunch checkpoint-get-address
Get the address of a specific checkpoint.
Usage:
crunch-coordinator crunch checkpoint-get-address <crunchName> <checkpointIndex>
Arguments:
crunchName
- Name of the crunchcheckpointIndex
- Index of the checkpointExample:
crunch-coordinator crunch checkpoint-get-address "Q4 2024 Trading Challenge" 1
Description: Returns the Solana public key address of the specified checkpoint account.
The CLI uses a configuration system for managing settings. Use the config
commands to manage your configuration:
# Set configuration values
crunch-coordinator config set <key> <value>
# Show current configuration
crunch-coordinator config show
# Use a specific profile
crunch-coordinator config use-profile <profile>
network
(string) - Solana network (localnet, devnet, mainnet)wallet
(string) - Path to wallet keypair fileloglevel
(string) - Log level (debug, info, warn, error){
"network": "localnet",
"wallet": "./accounts/coordinator.json",
"loglevel": "info"
}
Category | Command | Description |
---|---|---|
Coordinator Management | register | Register as a coordinator |
get | Get coordinator details | |
get-config | Get coordinator configuration | |
Competition Lifecycle | crunch create | Create a new competition |
crunch start | Start a competition | |
crunch address | Get competition address | |
crunch get | Get competition details | |
crunch end | End a competition | |
Financial Management | crunch deposit-reward | Deposit USDC rewards |
crunch margin | Execute margin payout | |
crunch drain | Withdraw remaining USDC | |
Checkpoint Management | crunch checkpoint-create | Create reward checkpoint |
crunch checkpoint-get-current | Get current checkpoint | |
crunch checkpoint-get-address | Get checkpoint address | |
Configuration | config | Configuration management |
register
crunch create
crunch deposit-reward
crunch start
crunch get
crunch checkpoint-create
crunch end
crunch drain
@crunchdao/cruncher-cli
- Participant operations (cruncher registration, model submission, claiming rewards)@crunchdao/admin-cli
- Administrative operationsMultisig Required: For production deployments, always use multisig protection for critical operations:
crunch-coordinator --multisig <multisig-address> crunch create "Production Competition" 50000 3
Test First: Always test operations on devnet before executing on mainnet:
crunch-coordinator --network devnet crunch create "Test Competition" 100 2
Validate Parameters: Double-check competition parameters before creation, especially payout amounts
# Register coordinator via multisig
crunch-coordinator --multisig <multisig-address> register "Production Coordinator"
# Create competition via multisig
crunch-coordinator --multisig <multisig-address> crunch create "Monthly AI Challenge" 25000 5
# Start competition via multisig
crunch-coordinator --multisig <multisig-address> crunch start "Monthly AI Challenge"
For issues and questions, please refer to the main repository documentation or create an issue in the project repository.
FAQs
CrunchDAO Coordinator Management CLI - Competition lifecycle management
We found that @crunchdao/coordinator-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.