Blueprint Agentic Staking (Solentic)
REMOTE · SOLENTIC.THEBLUEPRINT.XYZ · 2 COMPONENTS · SCANNED AUG 3
Native Solana staking for AI agents. 26 MCP tools, one-shot signing, webhooks.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (submit_transaction). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability85
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 2731 tokens (~88/item across 31 items; 29 tools + 2 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · solentic.theblueprint.xyz
claude mcp add --transport http blueprint-infrastructure-solentic https://solentic.theblueprint.xyz/mcp
[mcp_servers.blueprint-infrastructure-solentic] url = "https://solentic.theblueprint.xyz/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"blueprint-infrastructure-solentic": {
"type": "remote",
"url": "https://solentic.theblueprint.xyz/mcp",
"enabled": true
}
}
} openclaw mcp add blueprint-infrastructure-solentic --url https://solentic.theblueprint.xyz/mcp --transport streamable-http
mcp_servers:
blueprint-infrastructure-solentic:
url: "https://solentic.theblueprint.xyz/mcp" {
"mcpServers": {
"blueprint-infrastructure-solentic": {
"type": "http",
"url": "https://solentic.theblueprint.xyz/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 −1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 66
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://solentic.theblueprint.xyz/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=solentic.theblueprint.xyz | CN=YE1,O=Let's Encrypt,C=US | 27 Jun 2026 | 25 Sept 2026 | ECDSA 256 | ECDSA-SHA384 | 56f62c094979da1b5ff6fb59b117946fe15 |
| SANs: solentic.theblueprint.xyz | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of solentic.theblueprint.xyz. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| xyz. | present | 3599, 18130 | 8, 8 | Verified |
| theblueprint.xyz. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://solentic.theblueprint.xyz/mcp | Verified | 200 | |
| http (plaintext) | http://solentic.theblueprint.xyz/mcp | HTTPS enforced | 308 | https://solentic.theblueprint.xyz/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
check_address_type Check Address Type ~66
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Solana address (base58 public key) to identify |
No output schema declared.
No examples provided.
check_balance Check Balance ~88
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.
| Name | Type | Req | Description |
|---|---|---|---|
| walletAddress | string | yes | Solana wallet address (base58 public key) to check balance for |
No output schema declared.
No examples provided.
check_stake_accounts Check Stake Accounts ~84
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.
| Name | Type | Req | Description |
|---|---|---|---|
| walletAddress | string | yes | Wallet address to check for Blueprint stake accounts |
No output schema declared.
No examples provided.
check_withdraw_ready Check Withdraw Ready ~73
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.
| Name | Type | Req | Description |
|---|---|---|---|
| walletAddress | string | yes | Wallet address to check withdrawal readiness for |
No output schema declared.
No examples provided.
create_stake_transaction Create Stake Transaction ~101
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountSol | number | yes | Amount of SOL to stake (minimum 0.00228288 SOL for rent exemption) |
| walletAddress | string | yes | Solana wallet address (base58 public key) that will fund and control the stake |
No output schema declared.
No examples provided.
create_unstake_transaction Create Unstake Transaction ~70
Advanced: Build an unsigned unstake transaction for local signing. Most agents should use the `unstake` tool instead, which handles signing and submission automatically.
| Name | Type | Req | Description |
|---|---|---|---|
| stakeAccountAddress | string | yes | Stake account address to deactivate |
| walletAddress | string | yes | Wallet address that is the stake authority |
No output schema declared.
No examples provided.
delete_staking_policy Delete Autopilot Staking Policy ~101
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.
| Name | Type | Req | Description |
|---|---|---|---|
| nonce | integer | yes | Strictly increasing replay guard |
| signature | string | yes | base58 Ed25519 signature over the canonical delete message |
| walletAddress | string | yes | Wallet address |
No output schema declared.
No examples provided.
delete_webhook Delete Webhook ~62
Delete a webhook registration by ID. Use list_webhooks to find webhook IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| walletAddress | string | yes | Wallet that owns the webhook (required — prevents deleting another wallet's webhooks) |
| webhookId | string | yes | Webhook registration ID to delete |
No output schema declared.
No examples provided.
donate Donate to Blueprint ~111
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).
| Name | Type | Req | Description |
|---|---|---|---|
| amountSol | number | yes | Amount of SOL to donate (minimum 0.001 SOL) |
| walletAddress | string | yes | Wallet address to donate from |
No output schema declared.
No examples provided.
generate_wallet Generate Wallet ~105
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_epoch_timing Get Epoch Timing ~50
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_infrastructure Get Infrastructure ~36
Get Blueprint validator infrastructure specs: server hardware, redundancy configuration, network, and storage. Two bare-metal servers (redundant HA).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_performance_metrics Get Performance Metrics ~31
Get Blueprint validator performance: vote success rate, uptime, skip rate, epoch credits, delinquency status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_staking_apy Get Staking APY ~44
Get live APY breakdown: base staking APY + Jito MEV APY = total APY. Includes commission rates. Data from StakeWiz API.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_staking_policy Get Autopilot Staking Policy ~58
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.
| Name | Type | Req | Description |
|---|---|---|---|
| walletAddress | string | yes | Wallet address |
No output schema declared.
No examples provided.
get_staking_summary Get Staking Summary ~117
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.
| Name | Type | Req | Description |
|---|---|---|---|
| walletAddress | string | yes | Solana wallet address (base58 public key) to get staking summary for |
No output schema declared.
No examples provided.
get_validator_info Get Validator Info ~41
Get Blueprint validator profile: identity, vote account, commission, active stake, APY, performance, software, location. Live data from StakeWiz API.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_verification_links Get Verification Links ~63
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_webhooks List Webhooks ~34
List all registered webhooks for a wallet address.
| Name | Type | Req | Description |
|---|---|---|---|
| walletAddress | string | yes | Wallet address to list webhooks for |
No output schema declared.
No examples provided.
register_webhook Register Webhook ~131
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.
| Name | Type | Req | Description |
|---|---|---|---|
| callbackUrl | string | — | HTTPS callback URL to receive webhook POST requests |
| events | array | yes | Event types to subscribe to |
| url | string | — | Alias for callbackUrl — either field works |
| walletAddress | string | yes | Wallet address to monitor for state changes |
No output schema declared.
No examples provided.
set_staking_policy Set Autopilot Staking Policy ~349
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.
| Name | Type | Req | Description |
|---|---|---|---|
| callbackUrl | string | yes | HTTPS URL to receive unsigned stake transactions |
| keepLiquidSol | number | yes | SOL to always keep liquid (not staked) |
| minSweepSol | number | yes | Only stake when idle surplus is at least this many SOL |
| nonce | integer | yes | Strictly increasing replay guard |
| paused | boolean | — | If true, the policy is stored but inactive |
| signature | string | yes | base58 Ed25519 signature over the canonical policy message |
| walletAddress | string | yes | Wallet whose idle SOL is managed |
No output schema declared.
No examples provided.
simulate_stake Simulate Stake ~107
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountSol | number | yes | Amount of SOL to simulate staking |
| durationDays | integer | — | Projection duration in days (default: 365) |
No output schema declared.
No examples provided.
stake Stake SOL (one-shot) ~137
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountSol | number | yes | Amount of SOL to stake |
| secretKey | string | yes | Your base58-encoded secret key — used in-memory for signing only, never stored |
| walletAddress | string | yes | Your Solana wallet address (base58 public key) |
No output schema declared.
No examples provided.
submit_transaction Submit Transaction ~75
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.
| Name | Type | Req | Description |
|---|---|---|---|
| signedTransaction | string | yes | Fully signed transaction as a base64-encoded string |
No output schema declared.
No examples provided.
unstake Unstake SOL (one-shot) ~138
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.
| Name | Type | Req | Description |
|---|---|---|---|
| secretKey | string | yes | Your base58-encoded secret key — used in-memory for signing only, never stored |
| stakeAccountAddress | string | yes | Stake account address to deactivate |
| walletAddress | string | yes | Your Solana wallet address (stake authority) |
No output schema declared.
No examples provided.
verify_code_integrity Verify Code Integrity ~83
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
verify_transaction Verify Transaction ~95
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.
| Name | Type | Req | Description |
|---|---|---|---|
| signature | string | yes | Solana transaction signature to verify |
No output schema declared.
No examples provided.
withdraw Withdraw SOL (one-shot) ~153
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountSol | — | — | Amount to withdraw in SOL (omit to withdraw full balance) |
| secretKey | string | yes | Your base58-encoded secret key — used in-memory for signing only, never stored |
| stakeAccountAddress | string | yes | Deactivated stake account to withdraw from |
| walletAddress | string | yes | Your Solana wallet address (withdraw authority) |
No output schema declared.
No examples provided.
withdraw_stake Withdraw Stake ~88
Advanced: Build an unsigned withdraw transaction for local signing. Most agents should use the `withdraw` tool instead, which handles signing and submission automatically.
| Name | Type | Req | Description |
|---|---|---|---|
| amountSol | — | — | Amount to withdraw in SOL (omit or null to withdraw full balance) |
| stakeAccountAddress | string | yes | Deactivated stake account to withdraw from |
| walletAddress | string | yes | Wallet address that is the withdraw authority |
No output schema declared.
No examples provided.