Overview
TheSKILLS.md file is the canonical integration contract for AI agents and orchestrators working with the Agentic Wallet platform. It provides a machine-readable specification of capabilities, runtime behavior, schemas, and operational constraints.
Location: /SKILLS.md in the repository root
Last Verified: 2026-03-03
Purpose
SKILLS.md serves as the single source of truth for:- Integration modes - How agents can interact with the platform (CLI, SDK, API, MCP)
- Intent schemas - Canonical request/response formats
- Execution semantics - Transaction lifecycle and async behavior
- Output contracts - What agents must return after substantial operations
- Runtime constraints - Known limitations and operational boundaries
Skills Index Version
Current State
The
skills/ directory exists but contains no checked-in SKILL.md files. SKILLS.md in the root is the active integration contract.Integration Modes
Agents can integrate using four primary modes:- Intent Runner (Legacy)
- Operator CLI
- TypeScript SDK
- MCP Tools
Compatibility CLI for orchestrators that use legacy intent formats.Legacy Adapter Behavior:
Intent Runner
fromWalletId(base58) → internalwalletIdUUID lookup- Legacy
chain/createdAt/reasoningpreserved atintent.legacy - Intent type normalization:
transfer→transfer_solortransfer_splswap→swapcreate_mint→create_mintmint_token→mint_token
Authentication & Scopes
Gateway Configuration
Environment Variables
Required Headers
Scope Groups
API keys can be scoped to specific capability groups:wallets- Wallet operationstransactions- Transaction lifecyclepolicies- Policy managementagents- Agent runtimeprotocols- Protocol adaptersrisk- Risk controlsstrategy- Strategy/backtestingtreasury- Treasury operationsaudit- Audit/observabilitymcp- MCP tools
Canonical Intent Schemas
Transaction Create
Request Schema
Supported Transaction Types
View All Transaction Types (26 types)
View All Transaction Types (26 types)
transfer_sol- Native SOL transfertransfer_spl- SPL token transferswap- DEX swapstake- Validator stakingunstake- Validator unstakinglend_supply- Lending protocol supplylend_borrow- Lending protocol borrowcreate_mint- Create SPL token mintmint_token- Mint SPL tokensquery_balance- Query balance (read-only)query_positions- Query positions (read-only)create_escrow- Create escrow contractaccept_escrow- Accept escrowrelease_escrow- Release escrow fundsrefund_escrow- Refund escrowdispute_escrow- Dispute escrowresolve_dispute- Resolve escrow disputecreate_milestone_escrow- Create milestone escrowrelease_milestone- Release milestone paymentx402_pay- HTTP 402 paymentflash_loan_bundle- Flash loan bundlecpi_call- Cross-program invocationcustom_instruction_bundle- Custom instruction bundletreasury_allocate- Treasury allocationtreasury_rebalance- Treasury rebalancepaper_trade- Paper trade (no real funds)
Common Intent Payloads
Read-only intents (
query_balance, query_positions) do not produce on-chain signatures and confirm without submission.Rent precheck: transfer_sol validates unfunded destination rent threshold before execution.Policy Rule Types
Policies support 11 rule types for governance:Policy Rule Reference
Policy Rule Reference
-
spending_limit- Per-transaction and daily spending caps -
address_allowlist- Allowed destination addresses -
address_blocklist- Blocked destination addresses -
program_allowlist- Allowed program IDs -
token_allowlist- Allowed token mints -
protocol_allowlist- Allowed protocol adapters -
rate_limit- Transaction rate limiting -
time_window- Time-based restrictions -
max_slippage- Maximum slippage tolerance -
protocol_risk- Protocol risk controls -
portfolio_risk- Portfolio exposure limits
Transaction Lifecycle
Canonical execution pipeline: Behavior Rules:POST /api/v1/transactionsreturns201,202, or500based on current state- Use
GET /api/v1/transactions/:txIdpolling for final state - If
approval_gate, call/approveor/reject idempotencyKeyreplays prior record when identical key is reused- Durable outbox is SQLite-backed for create/retry/approve processing
Response Envelope
Gateway normalizes all responses to a stable machine envelope:Response Format
Error Codes
VALIDATION_ERROR- Schema/input mismatchPOLICY_VIOLATION- Policy/capability/budget disallowPIPELINE_ERROR- Build/sign/send/runtime failuresCONFIRMATION_FAILED- Explicit confirmation-stage failures
Agent Heartbeat Context
When agents run in autonomous mode, the scheduler provides context on each tick:Scheduler Context Fields
Output Contract for Agents
For substantial runs, agents should return:- Interface used - CLI/API/SDK/MCP
- Commands or API calls executed - Full command/request log
- Wallet/agent/transaction IDs and signatures - All created resources
- Final statuses and policy decisions - Terminal states
- Proof/replay references - Auditability artifacts
- Remaining risks or TODOs - Operational notes
Agent Run Summary
Reliability & Durability
RPC Failover
RPC Pool Configuration
- Health-scored RPC pool failover
- Background endpoint probes and runtime health scoring
- Adaptive compute budget and priority fee tuning
Durable Outbox
Outbox Configuration
- SQLite-backed queue with lease/retry/dedupe/recovery
- Restart recovery drain of pending processing work
- Deterministic idempotency via
idempotencyKey
Delta Guard
Delta Guard Configuration
- Checks expected vs observed lamport movement
- Absolute lamport tolerance avoids false positive fee-noise pauses
- Auto-pause on delta breach respects wallet
autoPauseOnBreachcontrol
Security Guardrails
Signer Backends
Signer Configuration
Known Limitations
Single-node persistence
Single-node persistence
Persistence is SQLite-backed and single-node. Horizontal scale needs Postgres + distributed queue infrastructure.
Protocol adapter availability
Protocol adapter availability
Solend/DEX adapters depend on external API contracts and availability. They fail closed instead of returning synthetic fallback quotes.
Escrow program deployment
Escrow program deployment
Escrow adapter requires a deployed escrow program (
ESCROW_PROGRAM_ID) and account wiring in intent. This repo does not ship a deployed escrow program artifact.MCP tool coverage
MCP tool coverage
MCP includes a validated generic
gateway.request tool, but named high-level MCP wrappers are curated (not exhaustive one-by-one parity wrappers).Minimal Integration Runbook
Configure environment
WALLET_KEY_ENCRYPTION_SECRETAPI_GATEWAY_API_KEYS(or keep default)
Smoke Tests
Devnet Validation
Version History
| Version | Date | Changes |
|---|---|---|
| 3 | 2026-03-03 | Current version with SQLite persistence, MCP tools, escrow adapter |
| 2 | 2026-02-15 | Added agent autonomy, treasury, strategy modules |
| 1 | 2026-01-10 | Initial SKILLS.md with core wallet/policy/transaction |
Next Steps
CLI Integration
Explore the command-line interface
SDK Integration
Integrate with TypeScript SDK
MCP Tools
Use MCP server for AI agents
API Reference
Browse REST API endpoints