verify
Signature
Section titled “Signature”const att = await fidemark.verify(uid);att = fidemark.verify(uid)att, err := client.Verify(ctx, uid)Returns the decoded on-chain record. Verification is a read-only RPC call: no signer required.
Return shape
Section titled “Return shape”{ uid: string; // attestation UID type: 'human' | 'ai' | 'multi' | 'pop'; schemaUID: string; // EAS schema UID attester: string; // address that signed the attestation recipient: string; // EAS recipient field (always 0x00...00 in Fidemark) contentHash: string; // SHA-256 of the attested content createdAt: number; // Unix seconds: when the attestation was recorded on-chain revoked: boolean; // true if the attester revoked it revokedAt?: number; // Unix seconds, when revoked refUID: string; verifyUrl: string; // public verification URL
human?: { contentType: string; creator: string; proofMethod: string; createdAtAttested: number; }; ai?: { modelId: string; provider: string; promptHash: string; // 0x000…000 if no prompt parameters: string; }; multi?: { contentType, attesters[], signatures[], proofMethod, createdAtAttested }; pop?: { contentType, creator, proofMethod, createdAtAttested, root, nullifierHash, proof[] };}The Python SDK exposes the same fields as a FidemarkAttestation dataclass; the Go SDK as a *Attestation struct.
Errors
Section titled “Errors”| Code | Cause |
|---|---|
ATTESTATION_NOT_FOUND | No attestation exists for this UID on the configured network. |
VALIDATION_REJECTED | The attestation exists but uses a schema not registered with this Fidemark instance: usually a wrong-network mistake. |
RPC_ERROR | The RPC endpoint is unreachable or returned an error. |
Reading without a signer
Section titled “Reading without a signer”import { Fidemark } from "@fidemark/sdk";import { JsonRpcProvider } from "ethers";
const fidemark = new Fidemark({ network: "base-sepolia", provider: new JsonRpcProvider("https://sepolia.base.org"),});
const att = await fidemark.verify(uid); // works, no signer neededfrom fidemark import Fidemark, get_network
fidemark = Fidemark( network=get_network("base-sepolia"), provider_url="https://sepolia.base.org",)att = fidemark.verify(uid) # no signer needednetwork, _ := fidemark.GetNetwork("base-sepolia")client, _ := fidemark.New(fidemark.Config{Network: network})att, err := client.Verify(context.Background(), uid)