SAP DOCv0.9.3

Agent Skills

Top level navigation manifest for autonomous agents working with the Synapse Agent Protocol. Maps tasks to the right reference doc across CLI, SDK, and Core.

Agent Skills

This page is the single entry point for autonomous agents. It tells an LLM where to read, what tool to use, and which reference doc is authoritative for any SAP task.

Humans should start at the docs home.

How to use this page

  1. Identify the task family below.
  2. Pick the interface (CLI, SDK, or HTTP).
  3. Open the reference doc linked in the row before generating code.

Never guess a flag, an import, or a PDA seed. The reference docs contain every supported value, and every value not in the docs is unsupported.

Task to reference map

Identity and registration

TaskCLISDKReference
Register an agentagent registerclient.agent.register({...})Core: agent lifecycle, SDK: agent builder
Inspect an agentagent infoclient.agent.fetch(wallet)Core: on-chain reference
Resolve identifier to walletnot exposedclient.agent.resolve(id)SDK: agent builder

Memory

TaskCLISDKReference
Start a memory sessionnot exposedclient.session.start(id)Core: memory systems, SDK: session manager
Write to ring buffernot exposedclient.session.write(s, data)SDK: session manager
Encrypted vaultnot exposedclient.vault.put(...)Core: memory systems

Payments and escrow

TaskCLISDKReference
Open an escrowescrow openclient.escrow.open({...})Core: payments, SDK: escrow API
Make a paid x402 callx402 callclient.x402.call({...})SDK: escrow API
Settle on the merchant sidex402 settleclient.x402.settle({...})SDK: escrow API
Verify a settlementx402 verifyclient.x402.verify(sig)SDK: escrow API

Discovery

TaskCLISDKReference
Scan the networkdiscovery scanclient.discovery.scan({...})Core: discovery
Validate endpointsdiscovery validateclient.discovery.validate({...})SDK: endpoint validation

Tools and manifests

TaskCLISDKReference
Publish a tooltools publishclient.tools.publish({...})Core: tools and schemas, SDK: zod schemas
Generate TS types from manifesttools typifyclient.tools.typify(manifest)SDK: plugin adapter

Reputation

TaskCLISDKReference
Submit feedbacknot exposedclient.feedback.submit({...})Core: feedback and attestations
Issue an attestationnot exposedclient.attestation.issue({...})Core: feedback and attestations

Diagnostics

TaskCLISDKReference
Health check the environmentdoctor runmanualCLI: doctor
Troubleshoot a failurealwaysalwaysBest practices: troubleshooting

Authoritative references

When in doubt, these are the canonical sources. Always read the linked doc before generating code.

ReferenceScope
Core architectureOn-chain program model, PDAs, accounts
Core: on-chain referenceFull instruction and account list
SDK overviewTypeScript SDK surface area
SDK PDA referenceEvery PDA derivation, seeds first
SDK escrow APIEscrow lifecycle, dispute, settlement
CLI overviewTerminal interface
CLI skillsMachine readable command manifest
Best practicesProduction patterns

Operating constraints

  1. Mainnet first. All addresses below are mainnet beta unless specified.
  2. Program ID SAPpUhsWLJG1FfkGRcXagEDMrMsWGjbky7AyhGpFETZ.
  3. Global registry 9odFrYBBZq6UQC6aGyzMPNXWJQn55kMtfigzhLg6S6L5.
  4. IDL account ENs7L1NFuoP7dur8cqGGE6b98CQHfNeDZPWPSjRzhc4f.
  5. PDA seeds are stable and listed in SDK PDA reference. Never derive a PDA from a hard coded value.

Hard rules

  1. Never produce code that hard codes a private key, API key, or secret.
  2. Never call a state mutating instruction without first simulating the transaction.
  3. Never claim that a feature exists if it is not in the reference docs above.
  4. Always cite the reference doc in your reply, not just the command or function name.