The full spec, explained. La especificación completa, explicada.

RFC-0001 · v0.1
Identity LayerCapa de Identidad
Defines the canonical identifier format and Soul Document structure that enable persistent, runtime-agnostic identity for autonomous agents. Define el formato de identificador canónico y la estructura del Soul Document para una identidad persistente y agnóstica al runtime.
Soul ID FormatFormato Soul ID
namespace:archetype:version:instance soulid:custodian:v1:001 soulid:rasputina:v1:001 acme:scout:v2:042
Soul Document FieldsCampos del Soul Document
FieldCampoTypeTipoDescriptionDescripción
soul_idstringCanonical identifier (MUST, immutable)Identificador canónico (obligatorio, inmutable)
namestringHuman-readable nameNombre legible
archetypestringEntity role/typeRol o tipo de entidad
purposestringWhat this entity doesPara qué sirve esta entidad
valuesstring[]Behavioral valuesValores de comportamiento
capabilitiesstring[]Available tools/abilitiesHerramientas y habilidades disponibles
memoryobjectMemory type and scopeTipo y alcance de la memoria
lineageobjectOrigin, parent, forked_fromOrigen, padre, bifurcación
runtime_hintsobjectPreferred runtimes and adaptersRuntimes preferidos y adaptadores
ownerobjectOwner identity (v0.2+)Identidad del dueño (v0.2+)
LifecycleCiclo de Vida
define instantiate execute evolve version fork migrate
Design PrinciplesPrincipios de Diseño
Identity PersistencePersistencia de Identidad Runtime IndependenceIndependencia del Runtime PortabilityPortabilidad EvolvabilityEvolución
RFC-0002 · v0.2
Ownership, Signatures & TrustPropiedad, Firmas y Confianza
Introduces ownership, cryptographic signatures, and a trust layer that enables verifiable identity and provenance between entities and runtimes. Introduce propiedad, firmas criptográficas y una capa de confianza para identidad verificable entre entidades y runtimes.
Owner FieldCampo Owner
{ "owner": { "id": "cerealskill", "type": "person" } }
Trust LevelsNiveles de Confianza
LevelNivelMeaningSignificado
unknownNo signature, not verifiedSin firma, no verificado
self-signedSigned by owner, not externally verifiedFirmado por el dueño, no verificado externamente
verifiedSignature verified by registryFirma verificada por el registry
trustedVerified + established reputationVerificado + reputación establecida
SignatureFirma
{ "signature": { "algorithm": "Ed25519", "value": "base64url...", "signed_at": "2026-03-31T00:00:00Z" } }
RFC-0003 · v0.3
Runtime AdaptersAdaptadores de Runtime
Defines how specific execution environments instantiate, bind, and persist a Soul Document. Reference implementations for OpenClaw and Claude Code. Define cómo los entornos de ejecución instancian, vinculan y persisten un Soul Document. Implementaciones de referencia para OpenClaw y Claude Code.
Adapter InterfaceInterfaz del Adaptador
FieldCampoDescriptionDescripción
runtimeRuntime identifierIdentificador del runtime
workspaceCanonical workspace pathRuta del workspace canónico
identity_bindingHow soul fields map to runtime constructsCómo los campos del soul se mapean al runtime
memory_bindingHow memory is persisted and retrievedCómo se persiste y recupera la memoria
capability_bindingHow capabilities map to toolsCómo las capacidades se mapean a herramientas
Reference RuntimesRuntimes de Referencia
OpenClaw → SOUL.md + IDENTITY.md + MEMORY.md Claude Code → CLAUDE.md + .memory/ topics
Memory Strategy: pointer-indexEstrategia de Memoria: pointer-index
MEMORY.md acts as a lightweight pointer index (~150 chars/line). Topic-specific detail lives in separate files. Full transcripts are never reloaded — only searched for specific identifiers. MEMORY.md actúa como un índice liviano de punteros (~150 chars/línea). El detalle por tema vive en archivos separados. Las transcripciones completas nunca se recargan, solo se buscan por identificadores.
RFC-0004 · v0.4
RegistryRegistry
Defines the DNS-like resolution protocol for soul identifiers. Any compliant host can implement a Registry to publish, discover, and resolve Soul Documents. Define el protocolo de resolución tipo DNS para soul identifiers. Cualquier host compatible puede implementar un Registry para publicar, descubrir y resolver Soul Documents.
Registry ScopeAlcance del Registry
Public — open namespacesPúblico — namespaces abiertos Private — restricted accessPrivado — acceso restringido Namespace-scopedCon alcance por namespace
Resolution ProtocolProtocolo de Resolución
GET https://registry.soulid.io/resolve/soulid:rasputina:v1:001 { "soul_id": "soulid:rasputina:v1:001", "name": "Rasputina", "archetype": "assistant", "purpose": "Personal AI assistant — hacker mística, gótica sabia", "owner": { "id": "cerealskill", "type": "person" } }
Namespace DNS MappingMapeo DNS por Namespace
_soulid.yourdomain.com TXT "registry=https://registry.yourdomain.com"
RFC-0005 · v0.5
Ecosystem & SDKEcosistema y SDK
Defines the tooling, SDK contracts, and extension points that enable third parties to build on SOUL ID. Specifies the CLI, Runtime Adapter SDK, and extension model. Define el tooling, contratos del SDK y puntos de extensión para que terceros construyan sobre SOUL ID. Especifica el CLI, SDK de adaptadores y modelo de extensiones.
SDK PackagesPaquetes del SDK
PackagePaqueteDescriptionDescripción
@soulid/coreCore types, validation, Soul Document parsingTipos base, validación y parsing del Soul Document
@soulid/cliOfficial CLI — publish, resolve, listCLI oficial — publicar, resolver, listar
@soulid/adapter-openclawOpenClaw runtime adapterAdaptador para runtime OpenClaw
@soulid/adapter-claude-codeClaude Code runtime adapterAdaptador para runtime Claude Code
@soulid/registry-clientRegistry API clientCliente de la API del Registry
@soulid/cryptoSigning and verification utilitiesUtilidades de firma y verificación
Extension PointsPuntos de Extensión
Memory Backends (file, git, s3)Backends de Memoria (file, git, s3) Registry Backends (http, local, ipfs)Backends de Registry (http, local, ipfs) Capability ProvidersProveedores de Capacidades
RFC-0006 · v0.6
DecentralizationDescentralización
Optional protocols for sovereign identity: IPFS content-addressed storage, W3C DID compatibility, and on-chain anchoring for immutable lineage proofs. Protocolos opcionales para identidad soberana: almacenamiento IPFS, compatibilidad con W3C DID y anclaje on-chain para pruebas de linaje inmutables.
Three Tracks (all optional)Tres Tracks (todos opcionales)
TrackWhat it providesQué provee
A · IPFSContent-addressed, censorship-resistant storageAlmacenamiento resistente a censura, direccionado por contenido
B · DIDW3C standards compatibility, did:soul methodCompatibilidad W3C, método did:soul
C · On-chainImmutable timestamp + lineage proof on Base/EthereumTimestamp inmutable + prueba de linaje en Base/Ethereum
The Complete StackEl Stack Completo
v0.1 → Who am I? v0.2 → Who vouches for me? v0.3 → How do you run me? v0.4 → Where do you find me? v0.5 → How do you use me? v0.6 → Who controls me? → Nobody but my owner.
DID MethodMétodo DID
did:soul:soulid:rasputina:v1:001
On-chain AnchoringAnclaje On-chain
Hash commitments anchored to Base (default), Ethereum, Polygon, or Arbitrum. The document stays off-chain; only the hash is stored on-chain. Compromisos de hash anclados en Base (default), Ethereum, Polygon o Arbitrum. El documento permanece off-chain; solo el hash se almacena en la blockchain.