Iris · Relayer

The relayer.

Managed USD-billed service that signs and submits attestations on behalf of agents. Agents don't hold wallets or $LGT; your org gets one invoice a month.

The Iris relayer is a managed SaaS that accepts MCP attestation calls, signs them with a Ligate attestor key, submits them to Ligate Chain, and bills the agent's parent organisation monthly in USD or USDC. It is the "sponsored gas" pattern (Alchemy, Thirdweb, Pimlico) applied to attestation.

Note
The relayer targets ship Q4 2026 / Q1 2027. Endpoints, rate limits, and pricing below describe the intended service. Final values may shift before launch.

Self-hosted vs managed

ConsiderationSelf-hosted MCPManaged relayer
SetupRun the MCP server, hold an attestor key, manage $LGT gasRun the MCP server, set LIGATE_RELAYER_KEY
Billing$LGT on-chain, directUSD or USDC monthly invoice
ReliabilityYour responsibilityManaged uptime; SLA on Enterprise tier
AttestorYou operate (or partner with an attestor set)Ligate-operated at v0.5
Best forTeams that already run blockchain infraEveryone else (recommended default)

Pricing

TierPriceAttestations / monthRate limitSLA
Free$01,0005 rpsBest effort
Pro$49 / mo100,00050 rpsBest effort
EnterpriseCustomUnlimitedDedicated99.95% + priority support + dedicated attestor slot

Free and Pro tiers auto-upgrade at usage thresholds with a 24 hour grace period (you won't get rate-limited without warning). Enterprise tiers are billed annually.

Get an API key

Sign up at ligate.io/iris. Operators sign in by email or social login. API keys prefixed with lgir_test_ for testing, lgir_live_ for production.

Heads up
Treat API keys like passwords. Rotate via the dashboard if leaked. Keys are scoped per-org; multi-agent organisations use one key by default, or mint one key per agent for attribution.

API reference

The MCP server handles most traffic for you. The HTTP API exists for custom integrations and agent frameworks that don't speak MCP.

Base URL:

https://relayer.ligate.io/v1

Authentication

Bearer token in the Authorization header.

Authorization: Bearer lgir_live_...

POST /v1/attestations

Submit a new attestation for signing + anchoring.

POST /v1/attestations
Authorization: Bearer lgir_live_...
Content-Type: application/json

{
  "schema": "ligate.code-change/v1",
  "payload": {
    "intent":     "refactor auth module",
    "diff_hash":  "lph1lkdru8…sa6e0d2",
    "model":      "claude-opus-4-7",
    "agent_id":   "claude-code-01"
  }
}

// 201 Created
{
  "attestation_id": "lat1c3a87e…fd9a7c",
  "schema_id":      "lsc1c8agld…csak4qxr",
  "payload_hash":   "lph1lkdru8…sa6e0d2",
  "block":          1481207,
  "timestamp":      1745193600,
  "status":         "anchored"
}

GET /v1/attestations/:id

Fetch an attestation by ID.

GET /v1/attestations/lat1c3a87e…fd9a7c
Authorization: Bearer lgir_live_...

// 200 OK
{
  "attestation_id": "lat1c3a87e…fd9a7c",
  "schema":         "ligate.code-change/v1",
  "payload_hash":   "lph1lkdru8…sa6e0d2",
  "submitter":      "lig1qxk7…",
  "timestamp":      1745193600,
  "signatures_valid": true,
  "threshold_met":   true
}

GET /v1/attestations

List + filter attestations. All filters optional.

GET /v1/attestations?schema=ligate.code-change/v1&limit=50
Authorization: Bearer lgir_live_...

// 200 OK
{
  "attestations": [...],
  "next_cursor": "..."
}

GET /v1/usage

Current month's usage against your tier.

GET /v1/usage

// 200 OK
{
  "tier":              "pro",
  "period_start":      "2026-04-01",
  "attestations_used": 23_481,
  "attestations_cap":  100_000,
  "rate_limit_rps":    50
}

Billing

Stripe (credit card, wire) for USD, or USDC on Base / Ethereum for crypto-native customers. Monthly invoices emailed to the org billing contact.

Overages: Free tier hard-stops at 1,000. Pro tier allows 10% overage at standard per-unit pricing; beyond that, upgrade or hard-stop. Enterprise has no cap.

Rate limits and back-pressure

Exceeding your tier's rate limit returns 429 Too Many Requests with a Retry-After header. The MCP server automatically retries with exponential backoff; direct HTTP clients should do the same.

Status and uptime

Live status at ligate.io/status. Enterprise tier includes incident postmortems and a dedicated Slack Connect channel.