Skip to main content

Overview

The certify_research tool scans your Obsidian vault for research notes and anchors them on the blockchain. Each note is hashed with SHA-512 and attested via EAS on Base L2.
This tool is essential for R&D tax credits (CIR/CII). It provides timestamped proof of research hours.

Parameters

project
string
required
Project ID to certify notes for. Must match the project field in note frontmatter.
since
string
default:"7 days ago"
ISO date string. Only certify notes modified after this date.
dry_run
boolean
default:"false"
If true, preview what would be certified without creating attestations.
Always use dry_run: true first to review before committing to blockchain.

Obsidian Note Format

Notes must have YAML frontmatter with these required fields:
---
project: my-project      # Must match the project parameter
date: 2026-01-16         # Research date
hours: 2.5               # Effort in hours
class: S                 # S=Strategic, A=Advanced, C=Common
status: reviewed         # Must NOT be "draft"
---

# Research Content

Your research notes here...

Class Levels

ClassDescriptionTax Credit Multiplier
SStrategic - Novel research, breakthroughHighest
AAdvanced - Complex problem solvingMedium
CCommon - Standard developmentBase
Notes with status: draft are automatically skipped. Change to reviewed when ready to certify.

Response

{
  "project": "my-project",
  "certified": 5,
  "skipped": 2,
  "total_hours": 12.5,
  "notes": [
    {
      "file": "research/2026-01-16-feature-analysis.md",
      "fingerprint": "sha512:abc123...",
      "hours": 2.5,
      "class": "S",
      "eas_uid": "0x1234...",
      "tx_hash": "0xabcd..."
    }
  ],
  "skipped_notes": [
    {
      "file": "research/draft-idea.md",
      "reason": "status is draft"
    }
  ]
}

Workflow

1

Preview with dry_run

Certify research for project "my-project" with dry_run enabled
Review the list of notes that will be certified.
2

Check Hours

Verify total_hours is reasonable. Flag if > 40h/week.
3

Certify

Certify research for project "my-project"
Remove dry_run to create actual attestations.
4

Verify

Check the returned eas_uid values on base.easscan.org

Examples

Preview Certification

Certify research notes for project "seshat" since 2026-01-01 with dry_run enabled

Actual Certification

Certify research notes for project "seshat"

Warnings

High hours: If total_hours > 40 per week, the agent should flag this as unusually high.
Missing frontmatter: Notes without required frontmatter fields are skipped with an error reason.
Already certified: Notes with the same fingerprint are skipped (duplicate protection).

Best Practices

  1. Certify weekly to maintain a continuous proof chain
  2. Use meaningful class levels - S for breakthroughs, C for routine work
  3. Keep detailed notes - they’re part of your legal evidence
  4. Review before certifying - dry_run is your friend