Vine· Signals

Webhooks that arrive — once.

Stripe webhooks are at-least-once delivery, opaque ordering, and no replay. Vine is signed, ordered, cursor-paginated, with 90-day deterministic replay — the kind of event spine an auditor and an agent can both rely on.

Garden Financial
Search...⌘K
3
AACME Holdings
NRNina

Settings · Webhooks

Event spine

Signed, at-least-once event delivery across every Garden service with 90-day cursor replay. Ed25519-attested, retried with backoff, dead-lettered on exhaustion.

Events today

18,204
+6.1%

Delivery success

99.3%
Healthy

Retrying

1
backoff

Cursor

92,014
90d replay

Streaming events

SIGNED · AT-LEAST-ONCE · 90D REPLAY
Event typeSource serviceTimestampDeliveryCursor
invoice.paidCabbage13:42:52Delivered92,014
payment.authorizedChard13:42:41Delivered92,013
journal.postedBean13:42:30Delivered92,012
ofac.hitSage13:42:19Retrying92,011
transfer.signedGreenhouse13:42:08Delivered92,010
sweep.scheduledKale13:41:57Delivered92,009
payout.failedChard13:41:46Failed92,008
balance.syncedBranches13:41:35Delivered92,007
GARDEN DESKTOP / EVENTSThe actual UI. No marketing simulator.
Delivery + DLQ

At-least-once delivery, with the receipts.

Every outbound webhook gets exponential-backoff retries, up to 12 attempts. Failures hold in a dead-letter queue for 90 days. There you inspect, retry, or drop. Every attempt is ed25519-signed. Consumers ack by cursor — replay from any point is two API calls.

VINE · /events/deliveries

Delivery · evt_91a8c4f · invoice.issued · 4 attempts → ok

delivered · sealed receipt
SUBSCRIBERhttps://acme.example/hooks/garden
EVENT · CURSORevt_91a8c4f · invoice.issuedcursor 92010
RETRY POLICYexponential backoff · 12 attempts max2 → 32 → 256 → 1024 s …
SLAat-least-once · ordered per tenant90-day replay window
Attempts · 4
#WhenStatusLatencyBodyOutcome
#114:02:11.184503240 msservice unavailablefail
#214:02:12.402timeout30 sno response · subscriber slowfail
#314:02:44.1185001.2 sinternal · stack trace truncatedfail
#414:04:18.402200118 msok · ack receiveddelivered
Dead-letter queue · 3 events held inspect to retry or drop
  • evt_4f12behttps://helsinki.example/hooks412 precondition failed · cursor stale5 attempts
  • evt_7c01a8https://forerun.example/gardentls handshake failed · expired cert7 attempts
  • evt_2c0911https://pinnacle.example/hk/grdnsubscriber endpoint moved · 301 not followed3 attemptsin 4m 12s
every attempt is ed25519-signed · consumers ack by cursor · DLQ events stay 90 days for manual replaySSE · webhooks · AMQP · WebSocket
Vine vs. webhook stacks

An event bus you can prove things about.

Webhooks aren't enough. You need ordering, signatures, and replay.

CapabilityStripe WebhooksSegmentSnowplow Vine
Signed eventssecret-based✓ ed25519
Strictly-ordered per tenant✓ cursor
Deterministic replay✓ 90 days
At-least-once delivery
Posts ledger entries on delivery✓ Bean
Agent-readable schemaOpenAPI✓ MCP descriptor
Schema evolution policyadditive✓ versioned
Dead-letter visible✓ inspectable
Agent-native

Agents that subscribe, not poll.

An agent connects to Vine, subscribes to topics under a capability scope, and receives ordered events as they happen. Replay from any cursor is two API calls.

agent session · vineact_vn…
› vine.events.replay { since: cursor 91,800 }✓ capability vine.events.replay · read only← 210 events, in order, signed, none duplicatedthe agent missed a day · the log did not
One exchange. Real tool names.Full API reference →
Capability matrix

What Vine carries.

  • 01Signed events (ed25519) per tenant with ordered cursor
  • 02At-least-once delivery with idempotent consumer pattern
  • 0390-day deterministic replay from any cursor
  • 04Topic-level subscriptions with capability-scoped access
  • 05MCP-fetchable schema for every event
  • 06Dead-letter queue with retry policy
  • 07Versioned schemas with backwards-compat guarantees
  • 08Direct streaming over Server-Sent Events or webhooks
Twelve services. Vine is one.

Vine planted alongside eleven others is the operating system.