Sfaeflow Solana Skill

Other

Use when running SafeFlow against a deployed Solana program. Trigger for tasks such as generating an agent keypair, asking the owner to fund gas and create wallet/session via the web dashboard, saving walletPda/sessionPda for autonomous payments, and executing rate-limited payments on Solana.

Install

openclaw skills install safe-flow-solana-skill

SafeFlow Solana Agent Skill

Operate this as a payment skill for AI agents on Solana with on-chain rate limiting.

Default program ID (devnet):

  • DwYEDn6xRpSbnNA7mkszQgDAUoHGfgdBNSi6pwy4qJKy

Quick Start (Owner-Handoff)

  1. Bootstrap agent keypair and print owner handoff instructions:
cd safe-flow-solana-skill/scripts
chmod +x ./*.sh
./bootstrap.sh \
  --program-id DwYEDn6xRpSbnNA7mkszQgDAUoHGfgdBNSi6pwy4qJKy \
  --cluster devnet
  1. Ask owner to:

    • Fund the agent address with SOL for gas (~0.01 SOL)
    • Open the SafeFlow dashboard and create a wallet + session for the agent address
    • Return with walletOwner public key
  2. Save owner-provided config:

./save_config.sh \
  --wallet-owner <OWNER_PUBKEY>
  1. Execute payment:
./execute_payment.sh \
  --recipient <RECIPIENT_ADDRESS> \
  --amount 500000000 \
  --evidence-id "reasoning:task_completed"

How It Works

  1. Agent generates a Solana keypair (stored locally in .safeflow/agent-keypair.json)
  2. Owner creates an AgentWallet PDA + deposits SOL + creates a SessionCap for the agent
  3. Agent uses the SessionCap to execute rate-limited payments autonomously
  4. All payments are enforced on-chain: rate limit, total cap, expiration, and revocation

Session Query

Check remaining budget before attempting payment:

./execute_payment.sh --query --wallet-owner <OWNER_PUBKEY>

Error Handling

The skill classifies payment failures:

ErrorMeaningAgent Action
ExceedsRateLimitToo fastWait, retry with smaller amount
ExceedsTotalLimitBudget exhaustedStop, notify owner
SessionExpiredTime's upAsk owner for new session
SessionRevokedOwner killed itStop immediately