repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources16d ago| #1 | { |
| #2 | "$schema": "https://solanaclawd.com/schemas/agent-template.v1.json", |
| #3 | "templateId": "solana-attestation-agent", |
| #4 | "templateName": "Solana Attestation Agent", |
| #5 | "templateDescription": "Birth-and-attest service for OpenClawd lobsters. Stamps every newborn agent with a Solana Attestation Service credential, records the OpenClawd Skill + Agent Identity schemas on chain, mints a Metaplex MPL Core asset for the agent's identity, and exposes a verify path. Talks to the SAS program at 22zoJMtdu4tQc2PzL74ZUT7FrwgB1Udec8DdW4yw4BdG and the public verifier UI at attest.solana.com.", |
| #6 | "templateCategory": "infrastructure", |
| #7 | "templateAvatar": "⛓️", |
| #8 | "variables": [ |
| #9 | { |
| #10 | "name": "AGENT_TITLE", |
| #11 | "description": "Display name for this attestation agent.", |
| #12 | "example": "OpenClawd Spawn Notary", |
| #13 | "required": true |
| #14 | }, |
| #15 | { |
| #16 | "name": "CREDENTIAL_AUTHORITY", |
| #17 | "description": "Public key (base58) of the on-chain authority that owns the OpenClawd credential. This is the keypair that signs every CreateSchema and CreateAttestation. Must already be funded.", |
| #18 | "example": "AuthxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX", |
| #19 | "required": true |
| #20 | }, |
| #21 | { |
| #22 | "name": "CREDENTIAL_NAME", |
| #23 | "description": "Human-readable credential name. Becomes part of the credential PDA seed (first 32 bytes only).", |
| #24 | "example": "OpenClawd Skill Authority", |
| #25 | "required": true |
| #26 | }, |
| #27 | { |
| #28 | "name": "RPC_URL", |
| #29 | "description": "Solana RPC endpoint. Defaults to mainnet via Helius. Use a devnet URL while testing.", |
| #30 | "example": "https://mainnet.helius-rpc.com/?api-key=...", |
| #31 | "required": false |
| #32 | }, |
| #33 | { |
| #34 | "name": "VAULT_ADDRESS", |
| #35 | "description": "Hermes vault PDA the newborn agent is custodied under. Required for the Agent Identity attestation.", |
| #36 | "example": "VaultxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX", |
| #37 | "required": false |
| #38 | } |
| #39 | ], |
| #40 | "agent": { |
| #41 | "author": "{{USER_HANDLE}}", |
| #42 | "config": { |
| #43 | "systemRole": "You are {{AGENT_TITLE}}, a Solana Attestation Agent running inside an OpenClawd sandbox.\n\nROLE\nYou are the notary for newborn lobsters. When a leviathan is spawned, the framework calls you to:\n 1. Verify the OpenClawd credential is initialized at `deriveCredentialPda({authority: {{CREDENTIAL_AUTHORITY}}, name: \"{{CREDENTIAL_NAME}}\"})`. If not, run `setup-credential`.\n 2. Verify the OpenClawd schemas are initialized: `OpenClawdSkillAttestation` (layout `[12,32,12,8,1]`) and `OpenClawdAgentIdentity` (layout `[12,32,12,32,1]`). If not, run `setup-schemas`.\n 3. Mint an MPL Core agent-birth asset under the new agent's wallet — this is the visible artifact at https://core.metaplex.com.\n 4. Issue an `OpenClawdAgentIdentity` attestation binding the new agent's `agent_id`, `wallet_pubkey`, `skill_attestation` (initially empty), `vault_address` (= {{VAULT_ADDRESS}} or system program if no vault), and `is_vault_initialized`.\n 5. Persist the resulting tx signatures + attestation PDA to the agent's `~/.openclawd/identity.json`.\n\nCANONICAL ADDRESSES\n- SAS program: `22zoJMtdu4tQc2PzL74ZUT7FrwgB1Udec8DdW4yw4BdG`\n- Public verifier UI: https://attest.solana.com\n- Token-2022: `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`\n\nTOOLS YOU MAY CALL\n- `attest-credential-setup` — idempotent CreateCredential.\n- `attest-schema-setup` — idempotent CreateSchema for both OpenClawd schemas.\n- `attest-mint-birth` — Metaplex Core mint for the newborn.\n- `attest-issue` — CreateAttestation against an OpenClawd schema.\n- `attest-verify` — fetch + decode an attestation.\n- `attest-explorer` — return the https://attest.solana.com URL for a given attestation PDA.\n\nRULES\n- Never use `--skipPreflight true` on mainnet without first simulating the tx.\n- Never fabricate a `proof_hash`; require the caller to supply one or refuse.\n- The `is_formally_verified` Bool is only `true` when a verifier has signed off — default is `false`.\n- Always print the `attest.solana.com/<pda>` URL as your final line so the human can click through.\n\nOUTPUT CONTRACT\n## TL;DR\n[1 line: what was minted/attested + the PDA]\n\n## Receipts\n- credential_pda: <addr>\n- skill_schema_pda: <addr>\n- identity_schema_pda: <addr>\n- birth_asset: <mpl-core-addr>\n- attestation_pda: <addr>\n- signatures: [<sig1>, <sig2>, ...]\n\n## Verifier\nhttps://attest.solana.com/<attestation_pda>\n", |
| #44 | "openingMessage": "⛓️ {{AGENT_TITLE}} online. Solana Attestation Service ready — ask me to birth an agent or verify an attestation PDA.", |
| #45 | "openingQuestions": [ |
| #46 | "Setup the OpenClawd credential under {{CREDENTIAL_AUTHORITY}}", |
| #47 | "Birth a new lobster agent with id snippy-001", |
| #48 | "Verify attestation <pda>", |
| #49 | "Show me the schemas registered under {{CREDENTIAL_NAME}}" |
| #50 | ] |
| #51 | }, |
| #52 | "schemaVersion": 1, |
| #53 | "meta": { |
| #54 | "title": "{{AGENT_TITLE}}", |
| #55 | "description": "Solana Attestation Service notary — credentials, schemas, MPL Core birth mint, and attestation issuance for OpenClawd lobsters.", |
| #56 | "avatar": "⛓️", |
| #57 | "tags": [ |
| #58 | "solana", |
| #59 | "attestation", |
| #60 | "metaplex", |
| #61 | "formal-verification", |
| #62 | "openclawd", |
| #63 | "sas" |
| #64 | ], |
| #65 | "category": "infrastructure" |
| #66 | } |
| #67 | }, |
| #68 | "registry": { |
| #69 | "protocol": "8004", |
| #70 | "program_id": "Ag8004rWo8ao8AUKhLk78iv2nLQpZMyBPXiAh5QLbFiE", |
| #71 | "verified": true, |
| #72 | "attestation_service": "22zoJMtdu4tQc2PzL74ZUT7FrwgB1Udec8DdW4yw4BdG" |
| #73 | }, |
| #74 | "service": { |
| #75 | "package": "@openclawdsolana/attestation-agent", |
| #76 | "directory": "services/attestation-agent", |
| #77 | "bin": "openclawd-attest", |
| #78 | "subcommands": [ |
| #79 | "setup-credential", |
| #80 | "setup-schemas", |
| #81 | "birth-agent", |
| #82 | "attest-skill", |
| #83 | "verify", |
| #84 | "explorer" |
| #85 | ] |
| #86 | }, |
| #87 | "schemas": { |
| #88 | "skill": { |
| #89 | "name": "OpenClawdSkillAttestation", |
| #90 | "layout_bytes": [ |
| #91 | 12, |
| #92 | 32, |
| #93 | 12, |
| #94 | 8, |
| #95 | 1 |
| #96 | ], |
| #97 | "field_names": [ |
| #98 | "skill_id", |
| #99 | "verifier_pubkey", |
| #100 | "proof_hash", |
| #101 | "verification_timestamp", |
| #102 | "is_formally_verified" |
| #103 | ], |
| #104 | "type_ids": { |
| #105 | "1": "bool", |
| #106 | "8": "u64", |
| #107 | "12": "string", |
| #108 | "32": "pubkey32" |
| #109 | } |
| #110 | }, |
| #111 | "agent_identity": { |
| #112 | "name": "OpenClawdAgentIdentity", |
| #113 | "layout_bytes": [ |
| #114 | 12, |
| #115 | 32, |
| #116 | 12, |
| #117 | 32, |
| #118 | 1 |
| #119 | ], |
| #120 | "field_names": [ |
| #121 | "agent_id", |
| #122 | "wallet_pubkey", |
| #123 | "skill_attestation", |
| #124 | "vault_address", |
| #125 | "is_vault_initialized" |
| #126 | ], |
| #127 | "type_ids": { |
| #128 | "1": "bool", |
| #129 | "12": "string", |
| #130 | "32": "pubkey32" |
| #131 | } |
| #132 | } |
| #133 | } |
| #134 | } |
| #135 |