activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Crawler Summary
Work with Salt SDK for MPC-orchestrated blockchain transactions. Use when handling Salt SDK operations, MPC wallets, Salt accounts, blockchain transactions via Salt orchestration, account creation participation, organization invitations, or debugging Salt transaction states (propose/sign/combine/broadcast). Critical for understanding two-network model (orchestration vs destination chain) and account identity (address vs publicKey). --- name: salt-sdk description: Work with Salt SDK for MPC-orchestrated blockchain transactions. Use when handling Salt SDK operations, MPC wallets, Salt accounts, blockchain transactions via Salt orchestration, account creation participation, organization invitations, or debugging Salt transaction states (propose/sign/combine/broadcast). Critical for understanding two-network model (orchestration vs destination chai Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Freshness
Last checked 2/24/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
salt-sdk is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
Work with Salt SDK for MPC-orchestrated blockchain transactions. Use when handling Salt SDK operations, MPC wallets, Salt accounts, blockchain transactions via Salt orchestration, account creation participation, organization invitations, or debugging Salt transaction states (propose/sign/combine/broadcast). Critical for understanding two-network model (orchestration vs destination chain) and account identity (address vs publicKey). --- name: salt-sdk description: Work with Salt SDK for MPC-orchestrated blockchain transactions. Use when handling Salt SDK operations, MPC wallets, Salt accounts, blockchain transactions via Salt orchestration, account creation participation, organization invitations, or debugging Salt transaction states (propose/sign/combine/broadcast). Critical for understanding two-network model (orchestration vs destination chai
Public facts
6
Change events
1
Artifacts
0
Freshness
Feb 24, 2026
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 24, 2026
Vendor
Kagamidigital
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/KagamiDigital/salt-agent-skill.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Kagamidigital
Protocol compatibility
OpenClaw
Auth modes
api_key
Machine-readable schemas
OpenAPI or schema references published
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
javascript
const { ethers } = require('ethers');
const fs = require('fs');
// Generate new wallet
const wallet = ethers.Wallet.createRandom();
// Save configuration
const config = {
privateKey: wallet.privateKey,
address: wallet.address,
mnemonic: wallet.mnemonic.phrase
};
fs.writeFileSync('.agent-wallet.json', JSON.stringify(config, null, 2));
console.log('✅ Wallet created!');
console.log('Address:', wallet.address);
console.log('⚠️ SAVE YOUR MNEMONIC SECURELY!');
console.log('Mnemonic:', wallet.mnemonic.phrase);javascript
const { Salt } = require('salt-sdk');
const { ethers } = require('ethers');
// 1. Setup
const provider = new ethers.providers.JsonRpcProvider(RPC_URL);
const signer = new ethers.Wallet(PRIVATE_KEY, provider);
// 2. Authenticate
const salt = new Salt({ environment: 'TESTNET' }); // or 'MAINNET'
await salt.authenticate(signer);
// 3. Get account
const orgs = await salt.getOrganisations();
const accounts = await salt.getAccounts(orgs[0]._id);
const account = accounts[0];
// 4. Submit transaction
const tx = await salt.submitTx({
accountId: account.id,
to: recipientAddress,
value: '0.01', // decimal string for native transfers
chainId: 421614, // destination chain
data: '0x',
signer: signer // MUST match orchestration chain
});
// 5. Wait for completion (ALWAYS!)
const result = await tx.wait();
console.log('State:', result.state); // 'success' or 'failure'
// 6. Extract transaction hash
const txHash = result.broadcastReceipt?.transactionHash;javascript
const { invitations } = await salt.getOrganisationsInvitations();
for (const inv of invitations) {
await salt.acceptOrganisationInvitation(inv._id); // note: _id not id
}javascript
const listener = await salt.listenToAccountNudges(signer);
// Monitor queue
setInterval(() => {
const queue = listener.getNudgeQueue();
const processing = listener.getIsProcessingNudge();
console.log('Pending:', queue.length, 'Processing:', processing);
}, 5000);javascript
const { ethers } = require('ethers');
const erc20Abi = ['function transfer(address to, uint256 amount)'];
const iface = new ethers.utils.Interface(erc20Abi);
const amount = ethers.utils.parseUnits('10', 6); // 10 USDC (6 decimals)
const data = iface.encodeFunctionData('transfer', [recipient, amount]);
await salt.submitTx({
accountId,
to: tokenContractAddress,
value: '0', // MUST be '0' for ERC20
chainId: 421614,
data: data,
signer: signer
});javascript
const tx = await salt.submitTx({
accountId,
to: null, // null for contract creation
value: '0',
chainId: 421614,
data: compiledBytecode,
signer: signer
});
const result = await tx.wait();
const contractAddress = result.broadcastReceipt?.contractAddress;Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Work with Salt SDK for MPC-orchestrated blockchain transactions. Use when handling Salt SDK operations, MPC wallets, Salt accounts, blockchain transactions via Salt orchestration, account creation participation, organization invitations, or debugging Salt transaction states (propose/sign/combine/broadcast). Critical for understanding two-network model (orchestration vs destination chain) and account identity (address vs publicKey). --- name: salt-sdk description: Work with Salt SDK for MPC-orchestrated blockchain transactions. Use when handling Salt SDK operations, MPC wallets, Salt accounts, blockchain transactions via Salt orchestration, account creation participation, organization invitations, or debugging Salt transaction states (propose/sign/combine/broadcast). Critical for understanding two-network model (orchestration vs destination chai
CRITICAL: You need a wallet to interact with Salt. Before using any Salt commands:
Look for wallet configuration at one of these locations:
~/.openclaw/workspace/.agent-wallet.json.agent-wallet.json~/.salt-cli.jsonconst { ethers } = require('ethers');
const fs = require('fs');
// Generate new wallet
const wallet = ethers.Wallet.createRandom();
// Save configuration
const config = {
privateKey: wallet.privateKey,
address: wallet.address,
mnemonic: wallet.mnemonic.phrase
};
fs.writeFileSync('.agent-wallet.json', JSON.stringify(config, null, 2));
console.log('✅ Wallet created!');
console.log('Address:', wallet.address);
console.log('⚠️ SAVE YOUR MNEMONIC SECURELY!');
console.log('Mnemonic:', wallet.mnemonic.phrase);
IMPORTANT:
Testnet (Arbitrum Sepolia):
Mainnet (Arbitrum One):
Salt is an MPC orchestration system that coordinates distributed signing across multiple parties. Before using Salt, understand these non-negotiable concepts:
Every Salt transaction touches two networks:
Orchestration chain (from Salt({ environment })):
Destination chain (from submitTx({ chainId })):
Critical rule: Signer chain MUST match orchestration chain, NOT destination chain.
Salt accounts have two addresses - never confuse them:
account.address = vault/orchestration contract (internal coordination)account.publicKey = external receiving address (use this for receiving funds)For native token transfers:
'0.1', '1.5'For ERC20 transfers:
value: '0'const { Salt } = require('salt-sdk');
const { ethers } = require('ethers');
// 1. Setup
const provider = new ethers.providers.JsonRpcProvider(RPC_URL);
const signer = new ethers.Wallet(PRIVATE_KEY, provider);
// 2. Authenticate
const salt = new Salt({ environment: 'TESTNET' }); // or 'MAINNET'
await salt.authenticate(signer);
// 3. Get account
const orgs = await salt.getOrganisations();
const accounts = await salt.getAccounts(orgs[0]._id);
const account = accounts[0];
// 4. Submit transaction
const tx = await salt.submitTx({
accountId: account.id,
to: recipientAddress,
value: '0.01', // decimal string for native transfers
chainId: 421614, // destination chain
data: '0x',
signer: signer // MUST match orchestration chain
});
// 5. Wait for completion (ALWAYS!)
const result = await tx.wait();
console.log('State:', result.state); // 'success' or 'failure'
// 6. Extract transaction hash
const txHash = result.broadcastReceipt?.transactionHash;
const { invitations } = await salt.getOrganisationsInvitations();
for (const inv of invitations) {
await salt.acceptOrganisationInvitation(inv._id); // note: _id not id
}
const listener = await salt.listenToAccountNudges(signer);
// Monitor queue
setInterval(() => {
const queue = listener.getNudgeQueue();
const processing = listener.getIsProcessingNudge();
console.log('Pending:', queue.length, 'Processing:', processing);
}, 5000);
const { ethers } = require('ethers');
const erc20Abi = ['function transfer(address to, uint256 amount)'];
const iface = new ethers.utils.Interface(erc20Abi);
const amount = ethers.utils.parseUnits('10', 6); // 10 USDC (6 decimals)
const data = iface.encodeFunctionData('transfer', [recipient, amount]);
await salt.submitTx({
accountId,
to: tokenContractAddress,
value: '0', // MUST be '0' for ERC20
chainId: 421614,
data: data,
signer: signer
});
const tx = await salt.submitTx({
accountId,
to: null, // null for contract creation
value: '0',
chainId: 421614,
data: compiledBytecode,
signer: signer
});
const result = await tx.wait();
const contractAddress = result.broadcastReceipt?.contractAddress;
authenticate(signer) - Authenticate with SaltgetOrganisations() - List your organizationsgetAccounts(orgId) - List accounts in orggetAccount(accountId) - Get specific account detailssubmitTx(params) - Submit transaction (returns Transaction object)listenToAccountNudges(signer) - Participate in account creationgetOrganisationsInvitations() - Check pending invitationsacceptOrganisationInvitation(invitationId) - Accept invitationDo:
await tx.wait() before reporting resultsaccount.publicKey for receiving funds'0.1')Don't:
account.address as receiving addresssubmitTx() return value is final result0x0000...) for contract deployment.wait() callPROPOSE → SIGN → COMBINE → BROADCAST → SUCCESS / FAILURE
All states are lowercase strings. Always check result.state === 'success'.
A command-line tool for both humans and agents. Agents: read CLI_PATTERNS.md to interpret natural language requests.
salt status - Check Salt status: view invites, organizations, accounts, and balances
salt status -t # testnet
salt status -m # mainnet
salt submit - Universal transaction command
# Native send
salt submit --to 0x123... --value 0.01 -t
# ERC20/Contract call
salt submit --to 0xToken... --value 0 --data 0x... -t
# Deploy contract
salt submit --deploy --data 0x<bytecode> -t
salt invites - Manage invitations
salt invites list -t
salt invites accept --id <id> -t
salt invites accept-all -t
salt listen - Start nudge listener
salt listen -t # start listener
salt stop -t # stop listener
salt -help - Show all commands
Pre-built automation scripts for common DeFi workflows. These run as background processes and handle repetitive tasks automatically.
Monitors a Salt account for token deposits and automatically sweeps them into DeFi protocols (Aave, Compound, Uniswap, etc.).
Features:
Quick Start:
# Works from anywhere - uses relative paths to skill dependencies
SWEEPER=~/.openclaw/workspace/skills/salt-sdk/strategies/token-sweeper/sweeper.js
# Initialize config
node $SWEEPER --init
# Or use a template
cp ~/.openclaw/workspace/skills/salt-sdk/strategies/token-sweeper/protocols/aave-v3-arb-sepolia.json config.json
# Edit with your details
nano config.json
# Run sweeper
nohup node $SWEEPER > sweeper.log 2>&1 &
# Check status
node $SWEEPER --report
# Stop
node $SWEEPER --stop
Example Use Cases:
See strategies/token-sweeper/README.md for full documentation and protocol examples.
For complete troubleshooting, API details, and advanced patterns:
Read these as needed for complex scenarios or debugging.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
api_key
Streaming
No
Data region
global
Protocol support
Requires: openclew, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/contract"
curl -s "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"api_key"
],
"requires": [
"openclew",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/KagamiDigital/salt-agent-skill#input",
"outputSchemaRef": "https://github.com/KagamiDigital/salt-agent-skill#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:43:11.167Z",
"sourceUpdatedAt": "2026-02-24T19:43:11.167Z",
"freshnessSeconds": 19550512
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-10-09T02:25:03.710Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "be",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:be|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Kagamidigital",
"href": "https://github.com/KagamiDigital/salt-agent-skill",
"sourceUrl": "https://github.com/KagamiDigital/salt-agent-skill",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:11.167Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "api_key",
"href": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:43:11.167Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/KagamiDigital/salt-agent-skill#input",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:43:11.167Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/kagamidigital-salt-agent-skill/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to salt-sdk and adjacent AI workflows.