SolKnife
Non-custodial Solana toolkit: rug-checks, swaps, portfolios, token minting, multisig, Arweave.
我该使用它吗
质量与安全性
发现(20)
- LOW在 solknife_pool_compare 中
- LOW在 solknife_portfolio_compose_plan 中
- LOW在 solknife_revoke_authority_build 中
- LOW在 solknife_change_authority_build 中
- LOW在 solknife_portfolio_compose_build 中
- LOW在 solknife_ct_apply_pending_build 中
- LOW在 solknife_ct_empty_and_close_build 中
- LOW在 solknife_portfolio_compose_execute 中
- LOW在 solknife_create_account_execute 中
- LOW在 solknife_revoke_authority_execute 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"toolkit": {
"url": "https://solknife.xyz/api/mcp"
}
}
}远程端点
https://solknife.xyz/api/mcpstreamable-http它能做什么
工具清单
工具(55)
🟢solknife_check_scan(mint)
Rug-check a Solana token: freeze authority, sellability, holders, liquidity. Returns the same ReportResult shape as GET /api/check.
输入模式
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"mint"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_token_meta(mint)
Fetch token metadata (name, symbol, decimals, image) for a mint.
输入模式
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"mint"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_portfolio_holdings(owner)
List a wallet's priced token holdings.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_portfolio_compose_plan(owner, targets, slippageBps)
Plan a USD-valued portfolio rebalance from target mint percentages. `targets[].bps` must total 10000.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"targets": {
"minItems": 1,
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"bps": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"description": "This target's share in basis points (10000 = 100%). All targets must sum to 10000."
}
},
"required": [
"mint",
"bps"
]
},
"description": "The desired portfolio: each mint and its share in basis points, summing to 10000."
},
"slippageBps": {
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"owner",
"targets"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_pool_check(address)
Read one Meteora DLMM pool: depth, volume, fee yield, token safety summary.
输入模式
{
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_pool_compare(mint)
Compare every Meteora DLMM pool for a token side by side.
输入模式
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"mint"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_positions_list(owner)
List a wallet's open Meteora DLMM positions with PnL.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_mint_supply_read(mint, owner)
Read a mint's authority state plus whether `owner` is its mint authority (prerequisite for mint-to).
输入模式
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"mint",
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_revoke_authority_read(mint, owner)
Read a mint's current mint + freeze authorities and whether `owner` holds either.
输入模式
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"mint",
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_change_authority_read(mint, owner)
Read a mint's current mint + freeze authorities and whether `owner` holds either (before transferring one).
输入模式
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"mint",
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_token_metadata_read(mint, owner)
Read a mint's current on-chain Metaplex metadata and whether `owner` can update it.
输入模式
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"mint",
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_burn_nft_list(owner)
List a wallet's NFT assets (DAS).
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_reclaim_rent_list(owner)
List a wallet's reclaimable empty token accounts.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_ct_state(owner, mint)
Read confidential-transfer state for owner + mint (mint extension flags, account configured, balance ciphertexts).
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"owner",
"mint"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_ct_orphans_list(owner)
List a wallet's orphan ZK Proof context-state accounts (left by partial Withdraw or Transfer sagas).
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_create_mint_build(payer, mint, program, decimals, freezeAuthority, ...)
Build an unsigned create-mint tx. Returns the base64 v0 transaction + lastValidBlockHeight + derived mint address.
输入模式
{
"type": "object",
"properties": {
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"program": {
"type": "string",
"enum": [
"spl-token",
"token-2022"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 9,
"description": "Decimal places for the new mint. 9 matches SOL, 6 matches USDC."
},
"freezeAuthority": {
"type": "boolean",
"description": "Whether the new mint gets a freeze authority. False makes accounts unfreezable forever."
},
"extensions": {
"default": {
"transferFeeBps": null,
"interestRateBps": null,
"closeAuthority": false,
"confidentialTransfer": false
},
"description": "Token-2022 extensions to enable. Omit entirely for program: spl-token.",
"type": "object",
"properties": {
"transferFeeBps": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 10000
},
{
"type": "null"
}
],
"description": "Token-2022 transfer fee in basis points (100 = 1%), or null for none."
},
"interestRateBps": {
"anyOf": [
{
"type": "integer",
"minimum": -32768,
"maximum": 32767
},
{
"type": "null"
}
],
"description": "Token-2022 interest rate in basis points; may be negative. Null for none."
},
"closeAuthority": {
"type": "boolean",
"description": "Whether the mint may later be closed by its authority."
},
"confidentialTransfer": {
"type": "boolean",
"description": "Whether to enable Token-2022 confidential transfers on the mint."
}
},
"required": [
"transferFeeBps",
"interestRateBps",
"closeAuthority",
"confidentialTransfer"
]
}
},
"required": [
"payer",
"mint",
"program",
"decimals",
"freezeAuthority"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_mint_supply_build(payer, mint, recipient, amount)
Build an unsigned mint-to tx. `amount` is a whole-token decimal string; the builder parses it against the mint's decimals.
输入模式
{
"type": "object",
"properties": {
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"recipient": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"amount": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "Amount to mint, in base units (not decimal). Multiply by 10^decimals yourself."
}
},
"required": [
"payer",
"mint",
"recipient",
"amount"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_revoke_authority_build(payer, mint, revokeMint, revokeFreeze)
Build an unsigned revoke-authority tx (mint and/or freeze). Permanent on-chain.
输入模式
{
"type": "object",
"properties": {
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"revokeMint": {
"type": "boolean",
"description": "Permanently revoke the mint authority. Irreversible: no new supply can ever be minted."
},
"revokeFreeze": {
"type": "boolean",
"description": "Permanently revoke the freeze authority. Irreversible: accounts can never be frozen."
}
},
"required": [
"payer",
"mint",
"revokeMint",
"revokeFreeze"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_change_authority_build(payer, mint, newAuthority, changeMint, changeFreeze)
Build an unsigned change-authority tx: transfer the mint and/or freeze authority to newAuthority. The new authority is pinned in the tx the client verifies before signing.
输入模式
{
"type": "object",
"properties": {
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"newAuthority": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"changeMint": {
"type": "boolean",
"description": "Transfer the mint authority to newAuthority."
},
"changeFreeze": {
"type": "boolean",
"description": "Transfer the freeze authority to newAuthority."
}
},
"required": [
"payer",
"mint",
"newAuthority",
"changeMint",
"changeFreeze"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_token_metadata_build(payer, mint, name, symbol, uri, ...)
Build an unsigned set/update Metaplex metadata tx. `lock` makes the metadata immutable (irreversible).
输入模式
{
"type": "object",
"properties": {
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "On-chain token name, e.g. \"Wrapped SOL\"."
},
"symbol": {
"type": "string",
"maxLength": 50,
"description": "On-chain ticker, e.g. \"WSOL\"."
},
"uri": {
"type": "string",
"maxLength": 400,
"description": "URL of the off-chain metadata JSON (image, description). Often an Arweave or IPFS link."
},
"lock": {
"type": "boolean",
"description": "Permanently freeze the metadata after this update. Irreversible."
}
},
"required": [
"payer",
"mint",
"name",
"symbol",
"uri",
"lock"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_create_account_build(owner, payer, mints)
Build an unsigned ATA-create tx (idempotent) for one or more mints.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mints": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
},
"required": [
"owner",
"payer",
"mints"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_reclaim_rent_build(owner, accounts)
Build chunked close-batch tx(s) for the wallet's empty token accounts. Up to MAX_RECLAIM_ACCOUNTS addresses.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"accounts": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
},
"required": [
"owner",
"accounts"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_burn_nft_build(owner, mints)
Build chunked burn tx(s) for selected NFTs (pNFTs supported).
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mints": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
},
"required": [
"owner",
"mints"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_swap_order(inputMint, outputMint, amount, taker, slippageBps)
Jupiter quote + unsigned swap tx. `amount` in input-mint base units. Returns the unsigned tx + lastValidBlockHeight + quote details.
输入模式
{
"type": "object",
"properties": {
"inputMint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"outputMint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"amount": {
"type": "string",
"pattern": "^\\d+$",
"description": "Amount in base units as a decimal string (not a float). For a 6-decimal mint, \"1000000\" is 1 token."
},
"taker": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"slippageBps": {
"type": "integer",
"minimum": 1,
"maximum": 10000
}
},
"required": [
"inputMint",
"outputMint",
"amount",
"taker"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_portfolio_compose_build(owner, targets, slippageBps)
Build a best-effort single auto-compose transaction for a target portfolio. Charges the configured compose fee when SOLKNIFE_FEE_ACCOUNT is set.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"targets": {
"minItems": 1,
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"bps": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"description": "This target's share of the portfolio in basis points (10000 = 100%). All targets must sum to 10000."
}
},
"required": [
"mint",
"bps"
]
},
"description": "The desired portfolio: each mint and its share in basis points, summing to 10000."
},
"slippageBps": {
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"owner",
"targets"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_ct_configure_build(owner, mint, pubkeyValidityProof, decryptableZeroBalance)
Build the Configure tx. Needs an agent-generated PubkeyValidity proof (96 B base64) + decryptable-zero AES ciphertext (36 B base64).
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"pubkeyValidityProof": {
"type": "string",
"minLength": 128,
"maxLength": 160,
"description": "Base64 of the 96-byte pubkey-validity proof from your ZK worker."
},
"decryptableZeroBalance": {
"type": "string",
"minLength": 46,
"maxLength": 60,
"description": "Base64 of the 36-byte AES-encrypted zero balance your worker computed."
}
},
"required": [
"owner",
"mint",
"pubkeyValidityProof",
"decryptableZeroBalance"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_ct_deposit_build(owner, mint, amount, decimals)
Build the Deposit tx (public → confidential pending). `amount` in base units (u64 string).
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"amount": {
"type": "string",
"pattern": "^\\d+$",
"description": "Amount in base units as a decimal string (not a float). For a 6-decimal mint, \"1000000\" is 1 token."
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 255,
"description": "The mint's decimals. Must match the mint exactly or the transfer fails on-chain."
}
},
"required": [
"owner",
"mint",
"amount",
"decimals"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_ct_apply_pending_build(owner, mint, expectedPendingCounter, newDecryptableAvailable)
Build the ApplyPending tx. The agent-supplied `newDecryptableAvailable` (36 B AES base64) is what the worker computed.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"expectedPendingCounter": {
"type": "string",
"pattern": "^\\d+$"
},
"newDecryptableAvailable": {
"type": "string",
"minLength": 46,
"maxLength": 60,
"description": "Base64 of the 36-byte AES-encrypted new available balance your worker computed."
}
},
"required": [
"owner",
"mint",
"expectedPendingCounter",
"newDecryptableAvailable"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_ct_empty_and_close_build(owner, mint, zeroCiphertextProof)
Build the combined EmptyAccount + CloseAccount tx. Agent provides the 96 B base64 zero-ciphertext proof.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"zeroCiphertextProof": {
"type": "string",
"minLength": 128,
"maxLength": 160,
"description": "Base64 of the 96-byte zero-ciphertext proof from your ZK worker."
}
},
"required": [
"owner",
"mint",
"zeroCiphertextProof"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_ct_withdraw_build(owner, mint, amount, decimals, equalityContextAccount, ...)
Build the 5-tx Withdraw saga. Agent supplies equality (320 B) + range U64 (936 B) proofs + new AES decryptable (36 B), plus the two ephemeral ctx-state pubkeys.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"amount": {
"type": "string",
"pattern": "^\\d+$",
"description": "Amount in base units as a decimal string (not a float). For a 6-decimal mint, \"1000000\" is 1 token."
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 9,
"description": "The mint's decimals. Must match the mint exactly."
},
"equalityContextAccount": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"rangeContextAccount": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"equalityProof": {
"type": "string",
"minLength": 420,
"maxLength": 440,
"description": "Base64 of the ciphertext-commitment equality proof from your ZK worker."
},
"rangeProof": {
"type": "string",
"minLength": 1240,
"maxLength": 1260,
"description": "Base64 of the range proof from your ZK worker."
},
"newDecryptableAvailable": {
"type": "string",
"minLength": 46,
"maxLength": 60,
"description": "Base64 of the 36-byte AES-encrypted new available balance your worker computed."
}
},
"required": [
"owner",
"mint",
"amount",
"decimals",
"equalityContextAccount",
"rangeContextAccount",
"equalityProof",
"rangeProof",
"newDecryptableAvailable"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_ct_transfer_build(owner, mint, destinationTokenAccount, equalityContextAccount, validityContextAccount, ...)
Build the 5-tx Transfer saga. Agent supplies equality (320 B) + validity-3H (544 B) + range U128 (1000 B) proofs + auditor lo/hi ciphertexts (64 B each) + new AES decryptable (36 B), plus the three ephemeral ctx-state pubkeys.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"destinationTokenAccount": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"equalityContextAccount": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"validityContextAccount": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"rangeContextAccount": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"equalityProof": {
"type": "string",
"minLength": 420,
"maxLength": 440,
"description": "Base64 of the ciphertext-commitment equality proof from your ZK worker."
},
"validityProof": {
"type": "string",
"minLength": 720,
"maxLength": 740,
"description": "Base64 of the batched ciphertext-validity proof from your ZK worker."
},
"rangeProof": {
"type": "string",
"minLength": 1320,
"maxLength": 1340,
"description": "Base64 of the range proof from your ZK worker."
},
"newSourceDecryptableAvailable": {
"type": "string",
"minLength": 46,
"maxLength": 60,
"description": "Base64 of the 36-byte AES-encrypted post-transfer source balance your worker computed."
},
"auditorCiphertextLo": {
"type": "string",
"minLength": 80,
"maxLength": 96,
"description": "Base64 of the low 32 bytes of the auditor ElGamal ciphertext."
},
"auditorCiphertextHi": {
"type": "string",
"minLength": 80,
"maxLength": 96,
"description": "Base64 of the high 32 bytes of the auditor ElGamal ciphertext."
}
},
"required": [
"owner",
"mint",
"destinationTokenAccount",
"equalityContextAccount",
"validityContextAccount",
"rangeContextAccount",
"equalityProof",
"validityProof",
"rangeProof",
"newSourceDecryptableAvailable",
"auditorCiphertextLo",
"auditorCiphertextHi"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_ct_orphans_build(owner, addresses)
Build chunked CloseContextState tx(s) to reclaim orphan ZK ctx rent.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"addresses": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
},
"required": [
"owner",
"addresses"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_swap_execute(signedTransaction, lastValidBlockHeight)
Submit a wallet-signed swap transaction. Returns the ExecuteOutcome (confirmed/failed/expired/unknown).
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_portfolio_compose_execute(owner, signedTransaction, lastValidBlockHeight)
Submit a wallet-signed portfolio compose transaction after top-level program allowlist verification.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"owner",
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_create_mint_execute(signedTransaction, lastValidBlockHeight)
Submit a wallet-signed create-mint tx. Structural re-verifier pins the mint creation ix + fee.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_mint_supply_execute(signedTransaction, lastValidBlockHeight)
Submit a wallet-signed mint-to tx. Structural re-verifier pins the mint-to ix + fee.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_create_account_execute(signedTransaction, lastValidBlockHeight)
Submit a wallet-signed ATA-create tx. Structural re-verifier pins the ATA creation ix(s) + allowlist.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_revoke_authority_execute(signedTransaction, lastValidBlockHeight)
Submit a wallet-signed revoke-authority tx. Structural re-verifier pins the revoke ix(s) + fee.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_change_authority_execute(signedTransaction, lastValidBlockHeight)
Submit a wallet-signed change-authority tx. Structural re-verifier pins the reassign ix(s) + fee.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_token_metadata_execute(signedTransaction, lastValidBlockHeight)
Submit a wallet-signed Metaplex metadata tx. Structural re-verifier pins the metadata ix + fee.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_reclaim_rent_execute(owner, signedTransactions, lastValidBlockHeight)
Submit reclaim-rent close-batch tx(s) (signed). Each is re-verified against fresh on-chain state: its close targets must still be the owner's empty accounts, and its fee must match their rent. Returns per-tx outcomes.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"signedTransactions": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"description": "The signed base64 transactions from /build, in the order /build returned them."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"owner",
"signedTransactions",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_burn_nft_execute(signedTransactions, lastValidBlockHeight)
Submit burn-nft tx(s) (signed). Structural re-verifier pins the burn ixs + fee per tx. Returns per-tx outcomes.
输入模式
{
"type": "object",
"properties": {
"signedTransactions": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"description": "The signed base64 transactions from /build, in the order /build returned them."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransactions",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_ct_submit(op, signedTransaction, signedTransactions, lastValidBlockHeight)
Submit a CT signed tx (single-tx ops) or saga (multi-tx ops). `op` discriminates. For saga ops (withdraw, transfer, reclaim-orphans) supply `signedTransactions` (an array); otherwise supply `signedTransaction`. The server re-verifies the saga shape + fee per op before relaying.
输入模式
{
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"configure",
"deposit",
"apply-pending",
"empty-and-close",
"withdraw",
"transfer",
"reclaim-orphans"
]
},
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"signedTransactions": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"description": "The signed base64 transactions from /build, in the order /build returned them."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"op",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_arweave_upload_relay(fileBase64, contentType)
Upload a base64-encoded file to Arweave via SolKnife's funded Irys account. JSON-only — for agents without a wallet-adapter integration. Allowed contentType: image/png, image/jpeg, image/gif, image/webp, application/json. Max 2 MiB. Returns { arweaveTxId, arweaveUrl }.
输入模式
{
"type": "object",
"properties": {
"fileBase64": {
"type": "string",
"minLength": 1,
"description": "Base64 of the file bytes. Max 2 MiB decoded."
},
"contentType": {
"type": "string",
"enum": [
"image/png",
"image/jpeg",
"image/gif",
"image/webp",
"application/json"
]
}
},
"required": [
"fileBase64",
"contentType"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_multisig_create_build(creator, createKey, members, threshold, timeLock)
Build an unsigned create-multisig tx. createKey is a fresh random pubkey the agent generates; it must co-sign the tx (two signers: creator + createKey). Returns the derived multisig + vault addresses, base64 v0 tx, and lastValidBlockHeight.
输入模式
{
"type": "object",
"properties": {
"creator": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"createKey": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"members": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"permissions": {
"type": "object",
"properties": {
"initiate": {
"type": "boolean",
"description": "May create proposals."
},
"vote": {
"type": "boolean",
"description": "May approve or reject proposals."
},
"execute": {
"type": "boolean",
"description": "May execute a proposal once it reaches threshold."
}
},
"required": [
"initiate",
"vote",
"execute"
],
"description": "What this member is allowed to do. All three are independent."
}
},
"required": [
"key"
]
},
"description": "The multisig members. Omit permissions to grant all three."
},
"threshold": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Approvals required to execute a proposal. Must not exceed the member count."
},
"timeLock": {
"type": "integer",
"minimum": 0,
"maximum": 7776000
}
},
"required": [
"creator",
"createKey",
"members",
"threshold"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_multisig_create_execute(signedTransaction, lastValidBlockHeight)
Submit the signed create-multisig tx (signed by both the creator wallet and the createKey).
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_multisig_propose_build(multisig, proposer, memo, kind, recipient, ...)
Build an unsigned propose tx. kind=sol-transfer needs recipient+lamports; token-transfer needs mint+recipient+amount (base units); instructions takes raw inner instructions ({programId, accounts, data:base64}) whose payer is the vault PDA. The proposer auto-approves if they can vote.
输入模式
{
"type": "object",
"properties": {
"multisig": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"proposer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"memo": {
"type": "string",
"maxLength": 280
},
"kind": {
"type": "string",
"enum": [
"sol-transfer",
"token-transfer",
"instructions"
]
},
"recipient": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"lamports": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000000000000000
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"amount": {
"type": "string",
"pattern": "^\\d+$"
},
"instructions": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"programId": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"accounts": {
"maxItems": 40,
"type": "array",
"items": {
"type": "object",
"properties": {
"pubkey": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"isSigner": {
"type": "boolean",
"description": "Whether this account must sign the inner instruction."
},
"isWritable": {
"type": "boolean",
"description": "Whether the inner instruction mutates this account."
}
},
"required": [
"pubkey",
"isSigner",
"isWritable"
]
},
"description": "The instruction's account metas, in the order the target program expects."
},
"data": {
"type": "string",
"maxLength": 4000,
"description": "Base64 of the instruction data bytes."
}
},
"required": [
"programId",
"accounts",
"data"
]
}
},
"ephemeralSigners": {
"type": "integer",
"minimum": 0,
"maximum": 8
}
},
"required": [
"multisig",
"proposer",
"kind"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_multisig_propose_execute(signedTransaction, lastValidBlockHeight)
Submit the signed propose-transaction tx.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴solknife_multisig_config_build(multisig, proposer, memo, op, member, ...)
Build an unsigned config-change proposal. op=add-member needs member (+optional permissions); remove-member needs member; change-threshold needs threshold. Only works on m-of-n multisigs (no single config authority).
输入模式
{
"type": "object",
"properties": {
"multisig": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"proposer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"memo": {
"type": "string",
"maxLength": 280
},
"op": {
"type": "string",
"enum": [
"add-member",
"remove-member",
"change-threshold"
]
},
"member": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"permissions": {
"type": "object",
"properties": {
"initiate": {
"type": "boolean",
"description": "May create proposals."
},
"vote": {
"type": "boolean",
"description": "May approve or reject proposals."
},
"execute": {
"type": "boolean",
"description": "May execute a proposal once it reaches threshold."
}
},
"required": [
"initiate",
"vote",
"execute"
],
"description": "What this member is allowed to do. All three are independent."
},
"threshold": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"multisig",
"proposer",
"op"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_multisig_config_execute(signedTransaction, lastValidBlockHeight)
Submit the signed config-change proposal tx.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢solknife_multisig_state(address)
Read a Squads v4 multisig by address: members + permissions, threshold, vault balance, and pending proposals (vote tallies, who has voted, whether it can be executed). Returns null if the address is not a multisig.
输入模式
{
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
},
"required": [
"address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_multisig_approve_build(multisig, member, transactionIndex, vote)
Build an unsigned vote tx: approve or reject the proposal at transactionIndex.
输入模式
{
"type": "object",
"properties": {
"multisig": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"member": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"transactionIndex": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"description": "The proposal index, as returned by /api/multisig/state."
},
"vote": {
"type": "string",
"enum": [
"approve",
"reject"
]
}
},
"required": [
"multisig",
"member",
"transactionIndex",
"vote"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_multisig_approve_execute(signedTransaction, lastValidBlockHeight, vote)
Submit the signed vote tx. Pass the same vote value used in the build.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
},
"vote": {
"type": "string",
"enum": [
"approve",
"reject"
]
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight",
"vote"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪solknife_multisig_execute_build(multisig, member, transactionIndex, computeUnitLimit)
Build an unsigned execute tx for an APPROVED proposal at transactionIndex. The server detects vault vs config and returns executeKind; pass it to execute.execute. computeUnitLimit optionally raises the CU cap for heavy inner transactions.
输入模式
{
"type": "object",
"properties": {
"multisig": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"member": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"transactionIndex": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"description": "The proposal index, as returned by /api/multisig/state."
},
"computeUnitLimit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1400000
}
},
"required": [
"multisig",
"member",
"transactionIndex"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡solknife_multisig_execute_execute(signedTransaction, lastValidBlockHeight, executeKind)
Submit the signed execute-proposal tx. Pass the executeKind returned by execute.build.
输入模式
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "string",
"minLength": 1,
"maxLength": 2500,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"lastValidBlockHeight": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land."
},
"executeKind": {
"type": "string",
"enum": [
"vault",
"config"
]
}
},
"required": [
"signedTransaction",
"lastValidBlockHeight",
"executeKind"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据