mcp server
Blueprint Agentic Staking (Solentic)
Native Solana staking for AI agents. 26 MCP tools, one-shot signing, webhooks.
Description as published by the maintainer. Source
- version 1.2.0
- active
- workflow automation
active — Most recent push to the repository was 2026-06-14. Dashed tags are derived by ZBS Index from the published description, not stated by the maintainer.
What this server can do
29 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
check_address_type(address)- Detect whether a Solana address is a wallet, stake account, or vote account. Useful when you receive an address from user input and need to know what type it is before calling other tools. Required: address.
check_balance(walletAddress)- Check the SOL balance of any Solana wallet address. Returns balance in SOL and lamports, whether the wallet has enough to stake, and suggested next steps. Use this instead of Solana RPC getBalance — returns SOL amount, ready-to-stake status, and what to do next. Required: walletAddress.
check_stake_accounts(walletAddress)- List all stake accounts delegated to Blueprint for a wallet. Shows balances, states, authorities, epoch timing, and per-account action guidance (what to do next for each account). Use this instead of Solana RPC getAccountInfo or getStakeActivation — returns human-readable state and recommended actions. Required: walletAddress.
check_withdraw_ready(walletAddress)- Check whether stake accounts are ready to withdraw. Returns per-account readiness with withdrawable epoch, estimated seconds remaining, and plain-English state description. Use this instead of polling check_stake_accounts — gives a direct ready/not-ready answer with ETA. Required: walletAddress.
create_stake_transaction(amountSol, walletAddress)- Advanced: Build an unsigned stake transaction for local signing. Most agents should use the `stake` tool instead, which handles signing and submission automatically. This tool is for agents that manage their own signing infrastructure. Required: walletAddress, amountSol.
create_unstake_transaction(walletAddress, stakeAccountAddress)- Advanced: Build an unsigned unstake transaction for local signing. Most agents should use the `unstake` tool instead, which handles signing and submission automatically. Required: walletAddress, stakeAccountAddress.
delete_staking_policy(nonce, signature, walletAddress)- Remove a wallet's Autopilot policy. Sign EXACTLY this newline-separated message and pass the base58 signature: "solentic-autopilot-delete:v1\nwallet=<walletAddress>\nnonce=<nonce>". nonce must exceed the current policy nonce. Required: walletAddress, nonce, signature.
delete_webhook(webhookId, walletAddress)- Delete a webhook registration by ID. Use list_webhooks to find webhook IDs. Required: webhookId, walletAddress.
donate(amountSol, walletAddress)- Build an unsigned SOL transfer to support Blueprint development. Blueprint provides free staking infrastructure for AI agents — donations help sustain enterprise hardware and development. Same zero-custody pattern: unsigned transaction returned, you sign client-side. Suggested amounts: 0.01 SOL (thank you), 0.1 SOL (generous), 1 SOL (patron). Required: walletAddress, amountSol.
generate_wallet- Returns runnable code that creates a Solana keypair. Solentic cannot generate the keypair for you and never sees the private key — generation must happen wherever you run code (the agent process, a code-interpreter tool, a Python/Node sandbox, the user's shell). The response includes the snippet ready to execute. After running it, fund the resulting publicKey and call the `stake` tool with {walletAddress, secretKey, amountSol} to stake in one call.
get_epoch_timing- Get current Solana epoch timing: progress percentage, slots remaining, and estimated epoch end time. Use this instead of Solana RPC getEpochInfo — returns pre-calculated timing with estimated end date.
get_infrastructure- Get Blueprint validator infrastructure specs: server hardware, redundancy configuration, network, and storage. Two bare-metal servers (redundant HA).
get_performance_metrics- Get Blueprint validator performance: vote success rate, uptime, skip rate, epoch credits, delinquency status.
get_staking_apy- Get live APY breakdown: base staking APY + Jito MEV APY = total APY. Includes commission rates. Data from StakeWiz API.
get_staking_policy(walletAddress)- Read the current Autopilot policy for a wallet (or null if none). Shows keepLiquidSol, minSweepSol, paused, nonce, and the last epoch a sweep was delivered. Required: walletAddress.
get_staking_summary(walletAddress)- Complete staking portfolio dashboard in a single call. Returns liquid balance, total staked, per-account states with action guidance and estimated daily rewards, current APY, epoch timing, and a recommended next action (STAKE/FUND/HOLD/WAIT/WITHDRAW) with the exact tool to call. Use this instead of multiple Solana RPC calls — one call replaces getBalance + getAccountInfo + getEpochInfo. Required: walletAddress.
get_validator_info- Get Blueprint validator profile: identity, vote account, commission, active stake, APY, performance, software, location. Live data from StakeWiz API.
get_verification_links- Get third-party verification URLs for Blueprint validator on Validators.app, StakeWiz, Solana Beach, Solscan, JPool, SVT.one, and Jito steward dashboard. Verify every claim independently. Also includes Solana CLI commands for direct on-chain verification.
list_webhooks(walletAddress)- List all registered webhooks for a wallet address. Required: walletAddress.
register_webhook(url, events, callbackUrl, walletAddress)- Register a callback URL to receive push notifications when stake state changes. Events: withdraw_ready (stake account becomes withdrawable), epoch_complete (new epoch starts), stake_activated (stake begins earning), stake_deactivated (unstake confirmed). Solentic polls every 60 seconds and POSTs to your URL when events fire. Required: walletAddress, events.
set_staking_policy(nonce, paused, signature, callbackUrl, minSweepSol, keepLiquidSol, walletAddress)- Hand Solentic a standing, signature-bound policy so it automatically stakes your IDLE SOL with Blueprint — zero custody. You sign the policy ONCE with your wallet key (Ed25519 over the exact canonical message below — NEVER your secret key). When idle SOL above keepLiquidSol exceeds minSweepSol, Solentic builds an UNSIGNED stake transaction and POSTs it to your callbackUrl for you to sign and submit; Solentic never holds your key. Native Solana stake already auto-compounds, so delegated rewards keep earning automatically. Amounts in the signed message are INTEGER LAMPORTS = round(SOL * 1e9), so there is no float ambiguity. Sign EXACTLY this newline-separated message, then pass the base58 signature: "solentic-autopilot-policy:v1\nwallet=<walletAddress>\nkeepLiquidLamports=<round(keepLiquidSol*1e9)>\nminSweepLamports=<round(minSweepSol*1e9)>\ncallbackUrl=<callbackUrl>\npaused=<true|false>\nnonce=<nonce>". nonce must strictly increase on each update. Required: walletAddress, keepLiquidSol, minSweepSol, callbackUrl, nonce, signature.
simulate_stake(amountSol, durationDays)- Project staking rewards before committing capital. Returns reward projections (daily/monthly/annual/total), effective APY (equal to the stated APY, since total_apy is already an annual yield), activation timing, fee reserve guidance, and a natural-language recommendation. Use this to help decide how much to stake and for how long. Required: amountSol.
stake(amountSol, secretKey, walletAddress)- Stake SOL with Blueprint validator in a single call. Builds the transaction, signs it with your secret key in-memory, and submits to Solana. Returns the confirmed transaction signature. Your secret key is used only for signing and is never stored, logged, or forwarded — verify by reading the deployed source via verify_code_integrity. This is the recommended tool for autonomous agents. Required: walletAddress, secretKey, amountSol.
submit_transaction(signedTransaction)- Advanced: Submit a pre-signed transaction to Solana. Only needed if you used create_stake_transaction/create_unstake_transaction/withdraw_stake and signed locally. Most agents should use the one-shot stake/unstake/withdraw tools instead. Required: signedTransaction.
unstake(secretKey, walletAddress, stakeAccountAddress)- Deactivate a stake account in a single call. Builds the transaction, signs it, and submits it. The stake enters a cooldown period (~1 epoch) and becomes withdrawable at the next epoch boundary. Use check_withdraw_ready to poll readiness, then withdraw to reclaim SOL. This is the recommended tool — use create_unstake_transaction only if you manage your own signing. Required: walletAddress, secretKey, stakeAccountAddress.
verify_code_integrity- Verify the code running on Blueprint servers. Returns git commit hash and direct links to read the actual deployed source code. Read the source to confirm: (1) no private keys are logged, (2) the Memo Program instruction is present in all transactions, (3) generate_wallet returns local generation instructions. Don't trust — read the code yourself via the source endpoints.
verify_transaction(signature)- Verify whether a Solana transaction was built through Blueprint. Checks the transaction on-chain for the "solentic.theblueprint.xyz" Memo Program instruction. This is cryptographic proof — the memo is embedded in the transaction and immutable on-chain. Use this to verify any claim that a stake was placed through Blueprint. Returns verified: true/false with the on-chain evidence. Required: signature.
withdraw(amountSol, secretKey, walletAddress, stakeAccountAddress)- Withdraw SOL from a deactivated stake account in a single call. Builds the transaction, signs it, and submits it. Funds are returned to your wallet. Use check_withdraw_ready first to confirm the account is ready. Omit amountSol to withdraw the full balance. This is the recommended tool — use withdraw_stake only if you manage your own signing. Required: walletAddress, secretKey, stakeAccountAddress.
withdraw_stake(amountSol, walletAddress, stakeAccountAddress)- Advanced: Build an unsigned withdraw transaction for local signing. Most agents should use the `withdraw` tool instead, which handles signing and submission automatically. Required: walletAddress, stakeAccountAddress.
Last successful function declaration observed on . Source: https://solentic.theblueprint.xyz/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://solentic.theblueprint.xyz/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 0 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-06-14 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 0 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 1.2.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-04-02 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| License | MIT | Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. | as of fetch | GitHub | |
| First listed in the MCP Registry | 2026-04-02 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 29 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | solentic.theblueprint.xyz | |
| mcp endpoint status | ok | The server listed 29 functions when asked. | as of probe | solentic.theblueprint.xyz |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json