Non-custodial Solana toolkit: rug-checks, swaps, portfolios, token minting, multisig, Arweave.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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 }.
Base64 of the file bytes. Max 2 MiB decoded.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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 }.
| Argument | Type | Description |
|---|---|---|
| fileBase64* | string | Base64 of the file bytes. Max 2 MiB decoded. |
| contentType* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fileBase64",
"contentType"
],
"properties": {
"fileBase64": {
"type": "string",
"minLength": 1,
"description": "Base64 of the file bytes. Max 2 MiB decoded."
},
"contentType": {
"enum": [
"image/png",
"image/jpeg",
"image/gif",
"image/webp",
"application/json"
],
"type": "string"
}
}
}Build chunked burn tx(s) for selected NFTs (pNFTs supported).
| Argument | Type | Description |
|---|---|---|
| mints* | array | |
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"mints"
],
"properties": {
"mints": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"maxItems": 20,
"minItems": 1
},
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Submit burn-nft tx(s) (signed). Structural re-verifier pins the burn ixs + fee per tx. Returns per-tx outcomes.
| Argument | Type | Description |
|---|---|---|
| signedTransactions* | array | The signed base64 transactions from /build, in the order /build returned them. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransactions",
"lastValidBlockHeight"
],
"properties": {
"signedTransactions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"maxItems": 20,
"minItems": 1,
"description": "The signed base64 transactions from /build, in the order /build returned them."
},
"lastValidBlockHeight": {
"type": "integer",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}List a wallet's NFT assets (DAS).
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| payer* | string | A Solana address in base58, 32-44 chars. |
| changeMint* | boolean | Transfer the mint authority to newAuthority. |
| changeFreeze* | boolean | Transfer the freeze authority to newAuthority. |
| newAuthority* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"payer",
"mint",
"newAuthority",
"changeMint",
"changeFreeze"
],
"properties": {
"mint": {
"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."
},
"changeMint": {
"type": "boolean",
"description": "Transfer the mint authority to newAuthority."
},
"changeFreeze": {
"type": "boolean",
"description": "Transfer the freeze authority to newAuthority."
},
"newAuthority": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Submit a wallet-signed change-authority tx. Structural re-verifier pins the reassign ix(s) + fee.
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}Read a mint's current mint + freeze authorities and whether `owner` holds either (before transferring one).
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mint",
"owner"
],
"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."
}
}
}Rug-check a Solana token: freeze authority, sellability, holders, liquidity. Returns the same ReportResult shape as GET /api/check.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Build an unsigned ATA-create tx (idempotent) for one or more mints.
| Argument | Type | Description |
|---|---|---|
| mints* | array | |
| owner* | string | A Solana address in base58, 32-44 chars. |
| payer* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"payer",
"mints"
],
"properties": {
"mints": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"minItems": 1
},
"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."
}
}
}Submit a wallet-signed ATA-create tx. Structural re-verifier pins the ATA creation ix(s) + allowlist.
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}Build an unsigned create-mint tx. Returns the base64 v0 transaction + lastValidBlockHeight + derived mint address.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| payer* | string | A Solana address in base58, 32-44 chars. |
| program* | string | |
| decimals* | integer | Decimal places for the new mint. 9 matches SOL, 6 matches USDC. |
| extensions | object | Token-2022 extensions to enable. Omit entirely for program: spl-token. |
| freezeAuthority* | boolean | Whether the new mint gets a freeze authority. False makes accounts unfreezable forever. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"payer",
"mint",
"program",
"decimals",
"freezeAuthority"
],
"properties": {
"mint": {
"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."
},
"program": {
"enum": [
"spl-token",
"token-2022"
],
"type": "string"
},
"decimals": {
"type": "integer",
"maximum": 9,
"minimum": 0,
"description": "Decimal places for the new mint. 9 matches SOL, 6 matches USDC."
},
"extensions": {
"type": "object",
"default": {
"closeAuthority": false,
"transferFeeBps": null,
"interestRateBps": null,
"confidentialTransfer": false
},
"required": [
"transferFeeBps",
"interestRateBps",
"closeAuthority",
"confidentialTransfer"
],
"properties": {
"closeAuthority": {
"type": "boolean",
"description": "Whether the mint may later be closed by its authority."
},
"transferFeeBps": {
"anyOf": [
{
"type": "integer",
"maximum": 10000,
"minimum": 0
},
{
"type": "null"
}
],
"description": "Token-2022 transfer fee in basis points (100 = 1%), or null for none."
},
"interestRateBps": {
"anyOf": [
{
"type": "integer",
"maximum": 32767,
"minimum": -32768
},
{
"type": "null"
}
],
"description": "Token-2022 interest rate in basis points; may be negative. Null for none."
},
"confidentialTransfer": {
"type": "boolean",
"description": "Whether to enable Token-2022 confidential transfers on the mint."
}
},
"description": "Token-2022 extensions to enable. Omit entirely for program: spl-token."
},
"freezeAuthority": {
"type": "boolean",
"description": "Whether the new mint gets a freeze authority. False makes accounts unfreezable forever."
}
}
}Submit a wallet-signed create-mint tx. Structural re-verifier pins the mint creation ix + fee.
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}Build the ApplyPending tx. The agent-supplied `newDecryptableAvailable` (36 B AES base64) is what the worker computed.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
| expectedPendingCounter* | string | |
| newDecryptableAvailable* | string | Base64 of the 36-byte AES-encrypted new available balance your worker computed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"mint",
"expectedPendingCounter",
"newDecryptableAvailable"
],
"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."
},
"expectedPendingCounter": {
"type": "string",
"pattern": "^\\d+$"
},
"newDecryptableAvailable": {
"type": "string",
"maxLength": 60,
"minLength": 46,
"description": "Base64 of the 36-byte AES-encrypted new available balance your worker computed."
}
}
}Build the Configure tx. Needs an agent-generated PubkeyValidity proof (96 B base64) + decryptable-zero AES ciphertext (36 B base64).
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
| pubkeyValidityProof* | string | Base64 of the 96-byte pubkey-validity proof from your ZK worker. |
| decryptableZeroBalance* | string | Base64 of the 36-byte AES-encrypted zero balance your worker computed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"mint",
"pubkeyValidityProof",
"decryptableZeroBalance"
],
"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."
},
"pubkeyValidityProof": {
"type": "string",
"maxLength": 160,
"minLength": 128,
"description": "Base64 of the 96-byte pubkey-validity proof from your ZK worker."
},
"decryptableZeroBalance": {
"type": "string",
"maxLength": 60,
"minLength": 46,
"description": "Base64 of the 36-byte AES-encrypted zero balance your worker computed."
}
}
}Build the Deposit tx (public → confidential pending). `amount` in base units (u64 string).
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
| amount* | string | Amount in base units as a decimal string (not a float). For a 6-decimal mint, "1000000" is 1 token. |
| decimals* | integer | The mint's decimals. Must match the mint exactly or the transfer fails on-chain. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"mint",
"amount",
"decimals"
],
"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."
},
"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",
"maximum": 255,
"minimum": 0,
"description": "The mint's decimals. Must match the mint exactly or the transfer fails on-chain."
}
}
}Build the combined EmptyAccount + CloseAccount tx. Agent provides the 96 B base64 zero-ciphertext proof.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
| zeroCiphertextProof* | string | Base64 of the 96-byte zero-ciphertext proof from your ZK worker. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"mint",
"zeroCiphertextProof"
],
"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."
},
"zeroCiphertextProof": {
"type": "string",
"maxLength": 160,
"minLength": 128,
"description": "Base64 of the 96-byte zero-ciphertext proof from your ZK worker."
}
}
}Build chunked CloseContextState tx(s) to reclaim orphan ZK ctx rent.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
| addresses* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"addresses"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"addresses": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"maxItems": 100,
"minItems": 1
}
}
}List a wallet's orphan ZK Proof context-state accounts (left by partial Withdraw or Transfer sagas).
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Read confidential-transfer state for owner + mint (mint extension flags, account configured, balance ciphertexts).
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"mint"
],
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| op* | string | |
| signedTransaction | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| signedTransactions | array | The signed base64 transactions from /build, in the order /build returned them. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"op",
"lastValidBlockHeight"
],
"properties": {
"op": {
"enum": [
"configure",
"deposit",
"apply-pending",
"empty-and-close",
"withdraw",
"transfer",
"reclaim-orphans"
],
"type": "string"
},
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"signedTransactions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"maxItems": 20,
"minItems": 1,
"description": "The signed base64 transactions from /build, in the order /build returned them."
},
"lastValidBlockHeight": {
"type": "integer",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
| rangeProof* | string | Base64 of the range proof from your ZK worker. |
| equalityProof* | string | Base64 of the ciphertext-commitment equality proof from your ZK worker. |
| validityProof* | string | Base64 of the batched ciphertext-validity proof from your ZK worker. |
| auditorCiphertextHi* | string | Base64 of the high 32 bytes of the auditor ElGamal ciphertext. |
| auditorCiphertextLo* | string | Base64 of the low 32 bytes of the auditor ElGamal ciphertext. |
| rangeContextAccount |
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.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
| amount* | string | Amount in base units as a decimal string (not a float). For a 6-decimal mint, "1000000" is 1 token. |
| decimals* | integer | The mint's decimals. Must match the mint exactly. |
| rangeProof* | string | Base64 of the range proof from your ZK worker. |
| equalityProof* | string | Base64 of the ciphertext-commitment equality proof from your ZK worker. |
| rangeContextAccount* | string | A Solana address in base58, 32-44 chars. |
| equalityContextAccount* | string |
Build an unsigned mint-to tx. `amount` is a whole-token decimal string; the builder parses it against the mint's decimals.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| payer* | string | A Solana address in base58, 32-44 chars. |
| amount* | string | Amount to mint, in base units (not decimal). Multiply by 10^decimals yourself. |
| recipient* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"payer",
"mint",
"recipient",
"amount"
],
"properties": {
"mint": {
"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."
},
"amount": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Amount to mint, in base units (not decimal). Multiply by 10^decimals yourself."
},
"recipient": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Submit a wallet-signed mint-to tx. Structural re-verifier pins the mint-to ix + fee.
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}Read a mint's authority state plus whether `owner` is its mint authority (prerequisite for mint-to).
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mint",
"owner"
],
"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."
}
}
}Build an unsigned vote tx: approve or reject the proposal at transactionIndex.
| Argument | Type | Description |
|---|---|---|
| vote* | string | |
| member* | string | A Solana address in base58, 32-44 chars. |
| multisig* | string | A Solana address in base58, 32-44 chars. |
| transactionIndex* | integer | The proposal index, as returned by /api/multisig/state. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"multisig",
"member",
"transactionIndex",
"vote"
],
"properties": {
"vote": {
"enum": [
"approve",
"reject"
],
"type": "string"
},
"member": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"multisig": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"transactionIndex": {
"type": "integer",
"maximum": 1000000000,
"description": "The proposal index, as returned by /api/multisig/state.",
"exclusiveMinimum": 0
}
}
}Submit the signed vote tx. Pass the same vote value used in the build.
| Argument | Type | Description |
|---|---|---|
| vote* | string | |
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight",
"vote"
],
"properties": {
"vote": {
"enum": [
"approve",
"reject"
],
"type": "string"
},
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| op* | string | |
| memo | string | |
| member | string | A Solana address in base58, 32-44 chars. |
| multisig* | string | A Solana address in base58, 32-44 chars. |
| proposer* | string | A Solana address in base58, 32-44 chars. |
| threshold | integer | |
| permissions | object | What this member is allowed to do. All three are independent. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"multisig",
"proposer",
"op"
],
"properties": {
"op": {
"enum": [
"add-member",
"remove-member",
"change-threshold"
],
"type": "string"
},
"memo": {
"type": "string",
"maxLength": 280
},
"member": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"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."
},
"threshold": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"permissions": {
"type": "object",
"required": [
"initiate",
"vote",
"execute"
],
"properties": {
"vote": {
"type": "boolean",
"description": "May approve or reject proposals."
},
"execute": {
"type": "boolean",
"description": "May execute a proposal once it reaches threshold."
},
"initiate": {
"type": "boolean",
"description": "May create proposals."
}
},
"description": "What this member is allowed to do. All three are independent."
}
}
}Submit the signed config-change proposal tx.
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| creator* | string | A Solana address in base58, 32-44 chars. |
| members* | array | The multisig members. Omit permissions to grant all three. |
| timeLock | integer | |
| createKey* | string | A Solana address in base58, 32-44 chars. |
| threshold* | integer | Approvals required to execute a proposal. Must not exceed the member count. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"creator",
"createKey",
"members",
"threshold"
],
"properties": {
"creator": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"members": {
"type": "array",
"items": {
"type": "object",
"required": [
"key"
],
"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",
"required": [
"initiate",
"vote",
"execute"
],
"properties": {
"vote": {
"type": "boolean",
"description": "May approve or reject proposals."
},
"execute": {
"type": "boolean",
"description": "May execute a proposal once it reaches threshold."
},
"initiate": {
"type": "boolean",
"description": "May create proposals."
}
},
"description": "What this member is allowed to do. All three are independent."
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "The multisig members. Omit permissions to grant all three."
},
"timeLock": {
"type": "integer",
"maximum": 7776000,
"minimum": 0
},
"createKey": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"threshold": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Approvals required to execute a proposal. Must not exceed the member count."
}
}
}Submit the signed create-multisig tx (signed by both the creator wallet and the createKey).
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| member* | string | A Solana address in base58, 32-44 chars. |
| multisig* | string | A Solana address in base58, 32-44 chars. |
| computeUnitLimit | integer | |
| transactionIndex* | integer | The proposal index, as returned by /api/multisig/state. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"multisig",
"member",
"transactionIndex"
],
"properties": {
"member": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"multisig": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"computeUnitLimit": {
"type": "integer",
"maximum": 1400000,
"exclusiveMinimum": 0
},
"transactionIndex": {
"type": "integer",
"maximum": 1000000000,
"description": "The proposal index, as returned by /api/multisig/state.",
"exclusiveMinimum": 0
}
}
}Submit the signed execute-proposal tx. Pass the executeKind returned by execute.build.
| Argument | Type | Description |
|---|---|---|
| executeKind* | string | |
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight",
"executeKind"
],
"properties": {
"executeKind": {
"enum": [
"vault",
"config"
],
"type": "string"
},
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| memo | string | |
| mint | string | A Solana address in base58, 32-44 chars. |
| amount | string | |
| lamports | integer | |
| multisig* | string | A Solana address in base58, 32-44 chars. |
| proposer* | string | A Solana address in base58, 32-44 chars. |
| recipient | string | A Solana address in base58, 32-44 chars. |
| instructions | array | |
| ephemeralSigners |
Submit the signed propose-transaction tx.
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| address* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Read one Meteora DLMM pool: depth, volume, fee yield, token safety summary.
| Argument | Type | Description |
|---|---|---|
| address* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Compare every Meteora DLMM pool for a token side by side.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Build a best-effort single auto-compose transaction for a target portfolio. Charges the configured compose fee when SOLKNIFE_FEE_ACCOUNT is set.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
| targets* | array | The desired portfolio: each mint and its share in basis points, summing to 10000. |
| slippageBps | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"targets"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"required": [
"mint",
"bps"
],
"properties": {
"bps": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "This target's share of the portfolio in basis points (10000 = 100%). All targets must sum to 10000."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
},
"maxItems": 8,
"minItems": 1,
"description": "The desired portfolio: each mint and its share in basis points, summing to 10000."
},
"slippageBps": {
"type": "integer",
"maximum": 500,
"minimum": 1
}
}
}Submit a wallet-signed portfolio compose transaction after top-level program allowlist verification.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"signedTransaction",
"lastValidBlockHeight"
],
"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",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}Plan a USD-valued portfolio rebalance from target mint percentages. `targets[].bps` must total 10000.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
| targets* | array | The desired portfolio: each mint and its share in basis points, summing to 10000. |
| slippageBps | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"targets"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"required": [
"mint",
"bps"
],
"properties": {
"bps": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "This target's share in basis points (10000 = 100%). All targets must sum to 10000."
},
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
},
"maxItems": 8,
"minItems": 1,
"description": "The desired portfolio: each mint and its share in basis points, summing to 10000."
},
"slippageBps": {
"type": "integer",
"maximum": 500,
"minimum": 1
}
}
}List a wallet's priced token holdings.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}List a wallet's open Meteora DLMM positions with PnL.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Build chunked close-batch tx(s) for the wallet's empty token accounts. Up to MAX_RECLAIM_ACCOUNTS addresses.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
| accounts* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"accounts"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"accounts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"maxItems": 100,
"minItems": 1
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
| signedTransactions* | array | The signed base64 transactions from /build, in the order /build returned them. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"signedTransactions",
"lastValidBlockHeight"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"signedTransactions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"description": "The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it."
},
"maxItems": 20,
"minItems": 1,
"description": "The signed base64 transactions from /build, in the order /build returned them."
},
"lastValidBlockHeight": {
"type": "integer",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}List a wallet's reclaimable empty token accounts.
| Argument | Type | Description |
|---|---|---|
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Build an unsigned revoke-authority tx (mint and/or freeze). Permanent on-chain.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| payer* | string | A Solana address in base58, 32-44 chars. |
| revokeMint* | boolean | Permanently revoke the mint authority. Irreversible: no new supply can ever be minted. |
| revokeFreeze* | boolean | Permanently revoke the freeze authority. Irreversible: accounts can never be frozen. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"payer",
"mint",
"revokeMint",
"revokeFreeze"
],
"properties": {
"mint": {
"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."
},
"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."
}
}
}Submit a wallet-signed revoke-authority tx. Structural re-verifier pins the revoke ix(s) + fee.
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}Read a mint's current mint + freeze authorities and whether `owner` holds either.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mint",
"owner"
],
"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."
}
}
}Submit a wallet-signed swap transaction. Returns the ExecuteOutcome (confirmed/failed/expired/unknown).
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}Jupiter quote + unsigned swap tx. `amount` in input-mint base units. Returns the unsigned tx + lastValidBlockHeight + quote details.
| Argument | Type | Description |
|---|---|---|
| taker* | string | A Solana address in base58, 32-44 chars. |
| amount* | string | Amount in base units as a decimal string (not a float). For a 6-decimal mint, "1000000" is 1 token. |
| inputMint* | string | A Solana address in base58, 32-44 chars. |
| outputMint* | string | A Solana address in base58, 32-44 chars. |
| slippageBps | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"inputMint",
"outputMint",
"amount",
"taker"
],
"properties": {
"taker": {
"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."
},
"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."
},
"slippageBps": {
"type": "integer",
"maximum": 10000,
"minimum": 1
}
}
}Fetch token metadata (name, symbol, decimals, image) for a mint.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
}Build an unsigned set/update Metaplex metadata tx. `lock` makes the metadata immutable (irreversible).
| Argument | Type | Description |
|---|---|---|
| uri* | string | URL of the off-chain metadata JSON (image, description). Often an Arweave or IPFS link. |
| lock* | boolean | Permanently freeze the metadata after this update. Irreversible. |
| mint* | string | A Solana address in base58, 32-44 chars. |
| name* | string | On-chain token name, e.g. "Wrapped SOL". |
| payer* | string | A Solana address in base58, 32-44 chars. |
| symbol* | string | On-chain ticker, e.g. "WSOL". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"payer",
"mint",
"name",
"symbol",
"uri",
"lock"
],
"properties": {
"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."
},
"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",
"maxLength": 100,
"minLength": 1,
"description": "On-chain token name, e.g. \"Wrapped SOL\"."
},
"payer": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"symbol": {
"type": "string",
"maxLength": 50,
"description": "On-chain ticker, e.g. \"WSOL\"."
}
}
}Submit a wallet-signed Metaplex metadata tx. Structural re-verifier pins the metadata ix + fee.
| Argument | Type | Description |
|---|---|---|
| signedTransaction* | string | The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it. |
| lastValidBlockHeight* | integer | The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"signedTransaction",
"lastValidBlockHeight"
],
"properties": {
"signedTransaction": {
"type": "string",
"maxLength": 2500,
"minLength": 1,
"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",
"maximum": 10000000000,
"description": "The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.",
"exclusiveMinimum": 0
}
}
}Read a mint's current on-chain Metaplex metadata and whether `owner` can update it.
| Argument | Type | Description |
|---|---|---|
| mint* | string | A Solana address in base58, 32-44 chars. |
| owner* | string | A Solana address in base58, 32-44 chars. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mint",
"owner"
],
"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."
}
}
}| string |
| A Solana address in base58, 32-44 chars. |
| equalityContextAccount* | string | A Solana address in base58, 32-44 chars. |
| validityContextAccount* | string | A Solana address in base58, 32-44 chars. |
| destinationTokenAccount* | string | A Solana address in base58, 32-44 chars. |
| newSourceDecryptableAvailable* | string | Base64 of the 36-byte AES-encrypted post-transfer source balance your worker computed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"mint",
"destinationTokenAccount",
"equalityContextAccount",
"validityContextAccount",
"rangeContextAccount",
"equalityProof",
"validityProof",
"rangeProof",
"newSourceDecryptableAvailable",
"auditorCiphertextLo",
"auditorCiphertextHi"
],
"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."
},
"rangeProof": {
"type": "string",
"maxLength": 1340,
"minLength": 1320,
"description": "Base64 of the range proof from your ZK worker."
},
"equalityProof": {
"type": "string",
"maxLength": 440,
"minLength": 420,
"description": "Base64 of the ciphertext-commitment equality proof from your ZK worker."
},
"validityProof": {
"type": "string",
"maxLength": 740,
"minLength": 720,
"description": "Base64 of the batched ciphertext-validity proof from your ZK worker."
},
"auditorCiphertextHi": {
"type": "string",
"maxLength": 96,
"minLength": 80,
"description": "Base64 of the high 32 bytes of the auditor ElGamal ciphertext."
},
"auditorCiphertextLo": {
"type": "string",
"maxLength": 96,
"minLength": 80,
"description": "Base64 of the low 32 bytes of the auditor ElGamal ciphertext."
},
"rangeContextAccount": {
"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."
},
"destinationTokenAccount": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"newSourceDecryptableAvailable": {
"type": "string",
"maxLength": 60,
"minLength": 46,
"description": "Base64 of the 36-byte AES-encrypted post-transfer source balance your worker computed."
}
}
}| A Solana address in base58, 32-44 chars. |
| newDecryptableAvailable* | string | Base64 of the 36-byte AES-encrypted new available balance your worker computed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner",
"mint",
"amount",
"decimals",
"equalityContextAccount",
"rangeContextAccount",
"equalityProof",
"rangeProof",
"newDecryptableAvailable"
],
"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."
},
"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",
"maximum": 9,
"minimum": 0,
"description": "The mint's decimals. Must match the mint exactly."
},
"rangeProof": {
"type": "string",
"maxLength": 1260,
"minLength": 1240,
"description": "Base64 of the range proof from your ZK worker."
},
"equalityProof": {
"type": "string",
"maxLength": 440,
"minLength": 420,
"description": "Base64 of the ciphertext-commitment equality proof from your ZK worker."
},
"rangeContextAccount": {
"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."
},
"newDecryptableAvailable": {
"type": "string",
"maxLength": 60,
"minLength": 46,
"description": "Base64 of the 36-byte AES-encrypted new available balance your worker computed."
}
}
}| integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"multisig",
"proposer",
"kind"
],
"properties": {
"kind": {
"enum": [
"sol-transfer",
"token-transfer",
"instructions"
],
"type": "string"
},
"memo": {
"type": "string",
"maxLength": 280
},
"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+$"
},
"lamports": {
"type": "integer",
"maximum": 1000000000000000,
"exclusiveMinimum": 0
},
"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."
},
"recipient": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
},
"instructions": {
"type": "array",
"items": {
"type": "object",
"required": [
"programId",
"accounts",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 4000,
"description": "Base64 of the instruction data bytes."
},
"accounts": {
"type": "array",
"items": {
"type": "object",
"required": [
"pubkey",
"isSigner",
"isWritable"
],
"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."
}
}
},
"maxItems": 40,
"description": "The instruction's account metas, in the order the target program expects."
},
"programId": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "A Solana address in base58, 32-44 chars."
}
}
},
"maxItems": 10,
"minItems": 1
},
"ephemeralSigners": {
"type": "integer",
"maximum": 8,
"minimum": 0
}
}
}