Krafthaus

Krafthaus × Decide / Solana devnet prototype

The wallet says yes.
Has the work been accepted?

The amount is within budget. The recipient is allowed. That still does not make an invoice payable. Krafthaus verifies the owner’s signed acceptance, binds one authorized obligation to an exact transaction, and retains one receipt on retries.

Read-only proof · No wallet connection · No real money · No new transfer

01 / Evidence

Accepted work, not a checkbox

A configured owner key signs the exact agreement, invoice, milestone and delivery hash.

02 / Authority

One payable obligation

Missing acceptance defers. Invalid evidence blocks. The local wrapper derives trusted facts before Decide evaluates the permitted proposal.

03 / Outcome

One payment, one receipt

The local executor binds exact bytes and reconciles chain evidence. Fresh proposal IDs and retries cannot create a second payment for this obligation during the same process.

One coherent workflow / fictional browser rehearsal

Pay for accepted work.
Keep the proof of why it was owed.

A contractor submits a landing-page handoff. Invoice DEMO-INV-001 is for 0.001 test SOL, within the owner’s ceiling. Try checking it before loading the separately signed acceptance.

Shared signature verifier · Synthetic demo owner · Simulated payment ledger · No chain writes

1 / Agreement & delivery

One milestone, one invoice

Obligation
DEMO-JOB-001 / M1
Invoice / amount
DEMO-INV-001 / 0.001 test SOL
Recipient
Checking the configured test address…
Delivery artifact SHA-256
Checking the demo artifact…
Read the fictional handoff ↗

A signature proves which owner assertion was accepted, not that the work objectively meets a quality standard.

2 / Trusted owner acceptance

The agent cannot accept its own work

No owner acceptance loaded.

Load a pre-signed fictional record. This button does not mint acceptance or call an owner signing endpoint. Its public key is pinned separately, never chosen by the supplied record.

Inspect agreement, signed acceptance and trust key
Checking the public fixture…

3 / Check & one outcome

Should this invoice be paid?

NOT CHECKED

Checking the shared verifier…

Simulated payments for this obligation: 0

No simulated receipt.

The public rehearsal never signs or pays. The downloadable local service uses this verifier before the actual devnet executor. Its obligation ledger is in memory, not restart-safe.

This public check verifies a synthetic owner assertion only; it does not call Decide, a signer or RPC. The local contractor service adds the actual Decide evaluation and devnet execution boundary.

Loading the public case and verifying the artifact hash…

Local integration verified: the frozen local wrapper obtained a real Decide approval and unsigned devnet transaction; changed payment bytes were refused. Inspect source-matched evidence ↗. Fresh contractor settlement is pending because the free faucet quota refused. The ephemeral signer was stopped; no new contractor transfer is claimed.

Prior executor evidence / October 12, 2026

One earlier confirmed devnet payout.

This is historical proof of the underlying transaction executor, not a payment from the contractor rehearsal above or proof that its new acceptance layer has settled onchain.

Checking recorded message bytes in your browser…

0.001test SOL received
0.000005test SOL network fee
510,306,819confirmed slot
Decide record
dec_0b8e08856592e83a66b93953
Approved message SHA-256
e43e5b70f1533ceda9ebd58c95e548ce9a33ec51e0eec642a78cfb6e4522fede
Transaction signature
tP7mREQaVfPWQhfixQNwUauqRcLVWEJmR3aWUwWrZBRUy2yBeBBc2eogQ22juLbXoppquCzuLA1w3z9EFACTk3Z
Inspect the actual devnet transaction ↗

The local qualification verified the message, signature and payer/recipient balance changes. This page checks the recorded message hash, not current chain state. Download dated proof.

Transaction lab / devnet only / no execution

Change the payout.
Watch the approval stop matching.

Type a different amount or public recipient. We edit those fields in the actual recorded Solana message and calculate its SHA-256 in your browser. A different hash means this transaction cannot use the recorded approval.

The recorded approval

Network
Solana devnet
Amount
0.001 test SOL
Recipient
Loading recorded address…
Approved message hash
Loading recorded hash…

This approval has expired. Matching historical bytes is not permission to spend again.

Your proposed change

Use a positive decimal, up to nine decimal places. Try 0.002.

Public Solana address only—never a private key or seed phrase. Inputs stay in this browser and are not saved or sent.

Choose a check

No new payment is possible from this viewer.

Browser binding check, not a live executor rejection. The downloadable executor enforces this boundary before signing. Retry/expiry buttons illustrate recorded behavior. No wallet, signer, agent or RPC is called here.

Development disclosure

From decision evidence to one accepted obligation.

This builds on our previously submitted Frontier project, not a brand-new foundation.

Frontier: decision + Memo

Evaluate a proposed treasury action, return APPROVE / DEFER / BLOCK, and optionally anchor the decision-packet hash on devnet. The Memo is audit evidence, not payment enforcement.

Explore the earlier demo ↗

New work: acceptance → one payout

A separately signed acceptance binds the invoice, milestone and delivery to the permitted recipient and amount. One obligation ledger wraps the exact-message executor: missing acceptance waits, valid acceptance permits one attempt, and retries retain its original receipt. The shared verifier powers the fictional rehearsal above and the local service.

Inspect transaction tampering separately ↗

The historical test-SOL receipt below proves the earlier executor, not a new contractor settlement. No production custody, onchain enforcement, native MCP integration or customer demand is claimed.

The useful workflow

Controlled payouts for an agent-run operation.

A team’s agent proposes payment for this accepted contractor milestone. The operator controls acceptance, recipient and limit; the workflow retains the reason for payment and the original attempt on retries. This is the implemented fictional prototype, not a production payment service.

Krafthaus is the workflow app and execution adapter. Decide is the rule evaluation and record engine. Solana is the settlement rail. MCP could expose the workflow to agents; this prototype uses a Local HTTP client, not a verified native MCP/LLM-agent connection.

The commercial hypothesis is a scoped workflow installation plus recurring operation/support, with Decide usage underneath. No Solana subscription, transaction fee or token is being sold here. Existing Workflow App Sprint scope and pricing are unchanged.

What this does not prove

A narrow prototype, not production custody.

  • Enforcement is inside the local executor, not an onchain program or wallet-wide policy.
  • A fixed address allowlist is not recipient identity verification or a proved DAO quorum.
  • The generated devnet key and approvals live only in memory. Restart loses them; no durable crash recovery is claimed.
  • The 0.003-session cap covers principal, not network fees.
  • The original signer ran SDK 1.91.1 before the final input-copy safeguard. Final tests and independent chain decoding used pinned 1.98.4. No fresh source-matched funded run is claimed.

Reproducible / Node 22+

Run the bounded executor locally.

The download contains reviewed prototype source, tests, a pinned lockfile and runbook. It contains no private key, funded wallet, service credential or production backend. Each launch generates a fresh devnet wallet.

unzip source.zip
cd solana-bound-devnet-20261012
npm ci --ignore-scripts --no-audit --no-fund
npm test
node contractor-local.cjs

The operator types accept in the local terminal to issue the fixed fictional job’s acceptance. The agent HTTP service has no acceptance-issuer route. Fund only the newly displayed address with free devnet SOL if deliberately testing a transfer. Never use a real wallet or real money. Read RUNBOOK.md first; unknown/submitted outcomes must reconcile the original attempt, not create a replacement payment.

Download source & runbook

The SDK dependency tree has four moderate advisories and no high/critical entries at the original audit. This experimental package is separate from the production app dependencies.