# Attestra > The trust layer for NEAR: a schema-based attestation protocol for issuing, managing and verifying claims about people, wallets on any chain, and AI agents. Private facts are checked by a NEAR AI Cloud verifiable model in a TEE and signed by a checker running in NEAR OutLayer's TEE with a key bound to its build, facts about EVM chains and Solana are verified by NEAR's MPC network without an oracle, agents get identity, delegation, scoped function-call keys and reputation, and any event can be proven final with a light client proof. Network: NEAR testnet, live; mainnet-ready behind one switch (NEAR_NETWORK=mainnet). Contracts (Rust, reproducible builds with NEP-330 metadata): - schemas: schemas.attestra.testnet - attestations: attestations.attestra.testnet - verdicts (AI-checked facts, EVM and Solana facts, wallet links): verdicts.attestra.testnet - credentials (NEP-171, non-transferable): credentials.attestra.testnet - staking (NEP-141 tiers): staking.attestra.testnet - resolvers: whitelist.attestra.testnet, fee.attestra.testnet, gated.attestra.testnet, reward.attestra.testnet, pipeline.attestra.testnet - token (NEP-141 test token with a faucet, for fees, rewards, staking and x402; native USDC on mainnet): token.attestra.testnet - MPC signer used for cross-chain facts: v1.signer-prod.testnet - Sputnik DAO attester (membership attestations issued by proposal and council vote; the keeper votes by a fixed rule): attestra.sputnik-v2.testnet ## Concepts - Schema: comma-separated "type name" fields (bool, u8..u128, i8..i128, string, account_id, bytes, bytes32, T[]). UID = sha256(borsh(("attestra:schema:v1", definition, resolver, revocable))). - Attestation: attester, subject (NEAR account or CAIP-10), Borsh data, expiration, revocation, nonce. UID = sha256(borsh(("attestra:attestation:v1", schema_uid, subject, attester, data, nonce))). - Status: pending, active, revoking, revoked, expired (expiry and scheduled revocation computed on read). - Resolvers approve or refuse asynchronously; a refusal rolls the attestation back with a storage refund. - DAO attesters: a Sputnik DAO issues an attestation through a FunctionCall proposal; once its council approves, the DAO account itself is the attester. ## Agent access - MCP (Streamable HTTP, read tools): https://attestra.site/mcp (claude mcp add --transport http attestra https://attestra.site/mcp) - MCP (stdio, read and capped write tools): node packages/mcp/dist/cli.js from a clone, or npx -y @attestra/mcp - Agent (chat, private checks, x402 paid verification): https://api.attestra.site/agent; A2A agent card: https://api.attestra.site/agent/.well-known/agent-card.json - Indexer REST API: https://api.attestra.site/indexer - Service health: https://attestra.site/status - Read tools (hosted and stdio): get_schema, list_schemas, well_known_schemas, get_attestation, verify_attestation, list_attestations, get_authority, get_delegates, get_agent_reputation, prove_attestation, linked_account, wallet_link_message, list_agent_keys, decode_data, compute_schema_uid, list_dao_proposals - Write tools (stdio, with the caller's key and per-tool caps): register_schema, create_attestation, revoke_attestation, propose_dao_attestation, rate_agent, request_private_check, attest_foreign_event, attest_foreign_instruction, link_wallet, register_agent, delegate_to_agent, grant_agent_key, paid_verify - Agent skill: skills/attestra/SKILL.md in the repository ## SDK (TypeScript, @attestra/sdk) - new AttestraClient({ network: 'testnet', accountId?, privateKey?, indexerUrl? }) - registerSchema, getSchema, createAttestation, getAttestation, isValid, revokeAttestation - addDelegate, attestOnBehalf, signDelegatedAttestation (NEP-413), relaySigned - mintCredential, scheduleRevocation, createMultisigAuthority, stake - proposeDaoAttestation, voteDaoProposal, getDaoProposals, fundDaoStorage, createSputnikDao (Sputnik DAO attesters) - proveAttestation (light client proof, checked locally) - requestPrivateCheck, attestForeignEvent (EVM logs), attestForeignInstruction (Solana instructions), linkWallet, registerAgent, rateAgent, grantAgentKey and revokeAgentKey (function-call access keys), paidVerify (x402) - Every method returns { success, data?, error?, txHash? } and never throws. ## CLI (@attestra/cli) attestra schema|attestation|authority|storage|delegate|whitelist|fee|token-gated|token-reward|pipeline|credential|schedule|multisig|dao|staking|token|blob|events|check|chain|agent|pay|ai ... --json ## REST API (indexer) GET /api/stats, /api/status, /api/schemas, /api/schemas/:uid, /api/attestations?schema&attester&subject&status, /api/attestations/:uid, /api/authorities, /api/authorities/:account, /api/agents, /api/agents/:account, /api/events?event&account&uid, /api/profile/:account, /api/search?q ## Well-known schemas - Agent identity (b943d9144253f1887f05e7277309519023e4d637913194d459694c327c21b715): string name, account_id owner, string model, string[] capabilities, string endpoint, string description - Agent review (5a98c3a7fe2fe0082ba76c2d9faa99768dfb070441cd2de497d2024cb9c89205): u8 score, string comment, string job_ref - Private AI check (d0d21f37ba038d6cb57e6a71cd82bd9647b0b2efd49c90f92df53cb68d93b0fa): string rule_id, string claim, bool result, bytes32 evidence_hash, string model, bytes32 request_id, u64 checked_at - Cross-chain event (31b9d5f9b072a79097b08271d36e490c03b36ac2332e691e1a63fe24a15db3b5): string chain, bytes32 tx_id, u64 block_number, bytes emitter, bytes32[] topics, bytes data, u64 log_index - Solana instruction (58d9aac8372e80f7f6649d65125982aefb2dd4e28e35ce7824e9e2c2d344c446): string chain, bytes tx_id, u64 instruction_index, u64 inner_instruction_index, bytes32 program_id, bytes32[] accounts, bytes data - Wallet link (dc716bb09267bae792eb025b260cd1bd405acc121d9d3745a83c1c8770ba6bc2): string chain, string address, string caip10 - Membership (6188b4a3c67135eca14a59bd3e0bb69a3e3437170ae52a14b2ba2040f96ed9e0): string organization, string role, u64 since ## Pages - https://attestra.site/docs: SDK, CLI, MCP, contracts, REST API - https://attestra.site/near: the NEAR-native features and their trust models - https://attestra.site/sandbox/app: every feature as a tool on testnet - https://attestra.site/attestations, https://attestra.site/schemas, https://attestra.site/authorities, https://attestra.site/agents, https://attestra.site/audit-log: explorer