Autopilot

Set a non-custodial Autopilot staking policy

Registers a non-custodial Autopilot policy for a wallet. You sign the canonical policy message ONCE with the wallet's key, proving you authorize the rule — Solentic never receives or holds the secret key. The policy says: keep keepLiquidSol SOL liquid in the wallet, and whenever idle SOL above that buffer exceeds minSweepSol, build a stake transaction. When that threshold is crossed, Solentic builds an UNSIGNED stake transaction and POSTs an autopilot_stake_intent payload to your callbackUrl; the agent signs and submits it client-side, so custody never leaves the agent. The canonical message that must be signed (Ed25519, returned base58) is exactly: "solentic-autopilot-policy:v1\nwallet=<walletAddress>\nkeepLiquidLamports=<round(keepLiquidSol1e9)>\nminSweepLamports=<round(minSweepSol1e9)>\ncallbackUrl=<callbackUrl>\npaused=<true|false>\nnonce=<nonce>".

post/api/v1/autopilot/policy

Request

  • Base URL: https://solentic.theblueprint.xyz
  • URL: https://solentic.theblueprint.xyz/api/v1/autopilot/policy
  • Auth: none required

Request body

walletAddressstring required

Solana wallet address (base58 public key) the policy governs and that signs the canonical message

keepLiquidSolnumber required

Amount of SOL to always keep liquid in the wallet — never swept into staking

minSweepSolnumber required

Minimum idle SOL above keepLiquidSol before Solentic builds a stake transaction

callbackUrlstring uri required

HTTPS URL that receives the autopilot_stake_intent payload (unsigned stake transaction) for the agent to sign and submit

pausedboolean

Optional — set true to keep the policy registered but inactive (no stake intents are produced)

nonceinteger required

Monotonic counter — must increase on every policy update to prevent replay; included in the signed canonical message

signaturestring required

Base58 Ed25519 signature by walletAddress over the canonical policy message (see canonicalMessageFormat / description)

Response

Autopilot policy stored

messagestring
canonicalMessageFormatstring

The exact canonical message template that was signed

_metaMeta (unresolved $ref)

Changes

No recorded changes to this operation across all 1 revision of this API.