Open-source e-signatures with a developer-first API

Get agreements signed. Without the bloat.

Upload a PDF, drop in signature fields, and send. Signers finish in a minute from any device. You get a sealed, court-ready PDF with a full audit trail.

ESIGN Act · UETA · eIDAS simple electronic signatures

Ada Lovelace
Oct 10, 2026
1

Upload

PDFs, Word exports or photos — combine several files into one envelope.

2

Place fields

Drag signatures, dates, text and checkboxes onto the page for each signer.

3

Send & track

Signers get a secure link. You see every view and signature in real time.

Everything you need to close deals

The features you actually use from the big e-signature suites — fast, focused and easy for everyone involved.

Sign anywhere

Type, draw or upload a signature from any phone, tablet or laptop. No account or app needed for signers.

Signing order & roles

Send to everyone at once or in sequence. Signers, approvers, viewers and CCs — each gets exactly what they need.

Reusable templates

Place fields once, reuse forever. Fill in names and send in seconds from the app or the API.

Tamper-evident

Every completed PDF is digitally sealed (PKCS#7) and carries a certificate of completion with a full audit trail.

A real REST API

Create, send and track envelopes, use templates, place fields with anchor text, and embed signing in your app.

Signed webhooks

Get notified the moment documents are viewed, signed, declined or completed — with automatic retries.

Verified signers

Every signer confirms a one-time code sent to their email before they can open the document. The check is recorded on the certificate.

Reminders & expiry

Automatic reminders keep things moving, and expiration dates make sure stale requests close themselves.

Open source & self-hostable

Run it on your own infrastructure with one Docker command. Your documents never leave your servers.

For developers

Send a contract with one request

Upload a PDF, place fields by anchor text, and send — all in one call. Use templates for repeat documents, embed the signing experience in your own app, and listen for webhooks when it's done.

  • REST + JSON, API keys, predictable errors
  • Anchor-text field placement — no coordinates needed
  • Embedded signing via iframe or redirect
  • HMAC-signed webhooks with retries
  • Download sealed PDFs and certificates
Read the API docs
curl https://agrmnt.io/api/v1/envelopes \
  -H "Authorization: Bearer $AGRMNT_API_KEY" \
  -F file=@contract.pdf \
  -F 'payload={
    "title": "Consulting Agreement",
    "recipients": [
      { "name": "Ada Lovelace", "email": "ada@example.com" }
    ],
    "fields": [
      { "recipient": 0, "type": "signature",
        "anchor": { "text": "{{signature}}" } },
      { "recipient": 0, "type": "date",
        "anchor": { "text": "{{date}}" } }
    ],
    "send": true
  }'

Simple, honest pricing

No per-envelope fees. No annual lock-in. No surprises.

Free

$0

forever

For trying agrmnt out

  • ✓ 3 documents per month
  • ✓ 1 template
  • ✓ Email-verified signers
  • ✓ Audit trail, sealed & timestamped PDFs
Request access

Pro

$9

per user / month · or $90/year

For professionals and growing teams

  • ✓ Unlimited documents
  • ✓ Unlimited templates
  • ✓ Team members & shared templates
  • ✓ Your brand colors on documents
  • ✓ API & webhooks
  • ✓ Priority support
Request access

Self-hosted

Free

open source (AGPL)

Run it on your own servers

  • ✓ Every feature, unlimited
  • ✓ One-command Docker deploy
  • ✓ Your database, storage & certificate
  • ✓ Community support
View on GitHub

Your next signature is a minute away

Create an account, upload a PDF and send it. Your signer can finish from their phone before you close the tab.

Request access Works great on mobile