core lifecycle
unavailable coston2 testXRP
One Coston2 FAssets redemption was paid on XRPL Testnet and completed with FDC evidence.
What this does not prove
- Not executed yet. Owned by phase 10.
Evidence
Signet
Attested external execution for FAssets agents. Every claim below is paired with what it does not prove, and every figure traces to a committed file you can verify yourself.
Every public claim, with what it does not prove stated beside it. A claim with no limitations listed is a claim that has not been examined hard enough, so they are shown first-class rather than in a footnote.
unavailable coston2 testXRP
One Coston2 FAssets redemption was paid on XRPL Testnet and completed with FDC evidence.
What this does not prove
Evidence
unavailable coston2 testXRP
An arbitrary XRP payment request received no signature.
What this does not prove
Evidence
verified
Every external protocol dependency Signet uses is pinned to a specific upstream commit and verified by content hash on every build.
What this does not prove
Evidence
docs/source-lock.jsonscripts/fetch-upstream.mjsscripts/verify-source-lock.mjsdocs/evidence/phase-00.mdverified coston2
Every Coston2 address Signet depends on was resolved from an authoritative source and proven by RPC, cross-checked against a second independent endpoint, to hold code that exposes the exact function selectors Signet depends on.
What this does not prove
Evidence
docs/source-lock.json#contractsdeployments/coston2.jsonscripts/resolve-coston2.mjsdocs/evidence/phase-00.mdverified coston2
The Coston2 FXRP AssetManager is live, exposes both memo-mode and destination-tag redemption entry points, and has agents with free collateral.
What this does not prove
Evidence
docs/protocol-seams/fassets-access-probe.jsondocs/source-lock.json#contractsdocs/evidence/phase-00.mdunavailable
Signet's signing key was protected from the host by hardware attestation.
What this does not prove
Evidence
verified
Signet's authorization decision is specified by a network-free executable model whose canonical commitment encoding and decision fixtures are frozen and machine-checked on every build.
What this does not prove
Evidence
reference/src/decide.tsreference/test-vectors/decision-fixtures.jsondocs/adr/0001-canonical-encoding.mddocs/adr/0002-policy-semantics.mddocs/evidence/phase-01.mdverified coston2
Signet reads a real Coston2 FAssets redemption in both memo and destination-tag mode and reproduces its payment reference independently in TypeScript and Solidity, matching what the chain recorded.
What this does not prove
Evidence
docs/protocol-seams/fassets.mddocs/protocol-seams/fassets-seam-evidence.jsoncontracts/test/fork/FAssetsSeam.t.solcontracts/src/adapters/FAssetsAdapter.soldocs/evidence/phase-02.mdverified
Every pinned upstream source reproduces byte-identically from an empty checkout, verified by content hash on every build.
What this does not prove
Evidence
docs/source-lock.jsonscripts/fetch-upstream.mjsscripts/verify-source-lock.mjsdocs/evidence/phase-02.mdverified testXRP
A transaction template produced by the Signet reference model was signed by a rotatable RegularKey and reached validated success on XRPL Testnet, unmodified, carrying the FAssets payment reference of a real Coston2 obligation.
What this does not prove
Evidence
evidence/receipts/xrpl-payment-7500DA52CAB254DBD1B64BC88975B2D01C4DFDF309A6C78398C57142493759AF.jsondocs/protocol-seams/xrpl.mddocs/evidence/phase-04.mdverified testXRP
Signet persists a signed XRPL transaction before first submission, never treats a provisional response as final, and reports a transaction definitively absent only when an endpoint that was itself asked for the transaction can prove it sees the entire payment window.
What this does not prove
Evidence
evidence/receipts/xrpl-adversarial.jsonscripts/xrpl/submit.mjsscripts/xrpl/reconcile.test.mjsdocs/protocol-seams/xrpl.mddocs/evidence/phase-04.mdverified testXRP
The agent's XRPL account is controlled by a rotatable RegularKey while the master key stays offline as the recovery path.
What this does not prove
Evidence
evidence/receipts/xrpl-set-regular-key-03445ECA6C42EA46BDF2AA0CBAA348C0A889529334798126602BDC9477E3C82F.jsondocs/protocol-seams/xrpl.mddocs/evidence/phase-04.mdverified testXRP coston2
The FDC verifier confirms Signet's XRPL Testnet payment and reports source, destination, amount and memo that satisfy every rule FAssets applies when confirming a redemption.
What this does not prove
Evidence
evidence/receipts/fdc-request-7500DA52CAB254DBD1B64BC88975B2D01C4DFDF309A6C78398C57142493759AF.jsondocs/protocol-seams/fdc.mddocs/evidence/phase-05.mdverified
Signet's contracts expose no path by which a caller supplies a payment field, the instruction sender is pinned so a binding cannot be detached from the FAssets adapter, and the on-chain obligation hash matches the reference model byte for byte for a real Coston2 obligation.
What this does not prove
Evidence
contracts/src/SignetInstructionSender.solcontracts/src/SignetRegistry.solcontracts/test/unit/SignetRegistry.t.solcontracts/test/unit/ObligationHashParity.t.soldocs/evidence/phase-06.mdverified
The Go extension policy produces byte-identical decisions to the TypeScript reference model on all 62 frozen fixtures, including the authorization commitment and the transaction template.
What this does not prove
Evidence
extension/internal/conformance/fixtures_test.goextension/internal/policy/policy.goextension/internal/canonical/encoding.goreference/test-vectors/decision-fixtures.jsondocs/evidence/phase-07.mdverified
Signet's coordinator state schema makes duplicate authority impossible by database constraint: a duplicate event, a concurrent worker, a stale fencing token and a restart between signing and submission were each attempted against a real PostgreSQL and each failed to create a second authority.
What this does not prove
Evidence
coordinator/migrations/0001_initial.sqlcoordinator/test/durability.test.mjsdocs/evidence/phase-08.mdverified xrpl-testnet coston2-fork
One command runs a Signet redemption end to end: real FAssets code on a Coston2 fork produces the obligation, the run asserts field by field that every obligation value reaching the decision is the one FAssets emitted, three independent implementations agree on the obligation hash, and the authorized payment is signed, persisted before submission, executed on XRPL Testnet, reconciled to validated, refused on replay by the ledger itself, and accepted by the FDC verifier. Twelve attack lifecycles produce the exact reason codes the specification requires, three malformed inputs are rejected identically by both deciders, and the Go and TypeScript implementations agree on every case.
What this does not prove
Evidence
scripts/lifecycle/run.mjsdocs/evidence/phase-09.mddocs/evidence/artifacts/lifecycle-run.jsonevidence/receipts/lifecycle-28B48DC36ACFDA1C22E97C033941355E4680B8F28964DB78F68AA44B41FBEFF4.jsonverified xrpl-testnet coston2
An independent verifier runs from a fresh clone with no credentials and checks a Signet receipt against sources this repository does not control: it asks every XRPL endpoint and requires agreement, reads the obligation from the Coston2 AssetManager over plain eth_call, recomputes the FAssets payment reference and the authorization commitment rather than believing the recorded ones, and reports UNVERIFIABLE with its own exit code for anything it cannot check. Ten deliberately corrupted bundles are each caught.
What this does not prove
Evidence
verifier/src/verify.tsverifier/test/corruption.test.tsdocs/evidence-schema.mddocs/evidence/phase-11.mdevidence/receipts/lifecycle-28B48DC36ACFDA1C22E97C033941355E4680B8F28964DB78F68AA44B41FBEFF4.jsonverified
A static proof page and operator view are generated from the repository's own evidence, with no server to trust. Build-failing checks assert that every claim and every limitation in the ledger is rendered, that unverified claims appear as prominently as verified ones, and that a receipt which only proves a seam is visibly labelled as one. Accessibility is checked structurally and by computed colour contrast.
What this does not prove
Evidence
web/src/build.mjsweb/test/check.mjsdocs/evidence/phase-12.mdverified coston2
The dependency scan is clean, the decision boundary survives 6.2 million fuzz executions without a panic or an untyped refusal, thirteen threats are closed with the mechanism and proof for each, five medium risks are accepted with stated reasons, and the whole suite passes from a fresh clone built only from the lockfile.
What this does not prove
Evidence
docs/threat-model.mddocs/runbooks/recovery.mddocs/evidence/phase-13.mdextension/internal/policy/fuzz_test.goextension/internal/wire/fuzz_test.goverified coston2
The Signet registry and instruction sender are deployed on Flare Coston2 at 0x381bdE5961695914B28B16f405d51E8acB877f6e and 0xd6cF30B6411DB8465147FfDcF0e0418030B4b9CA, with the instruction sender pinned one-shot, the extension binary's measurement approved as the code hash, and a result signer that is provably not governance.
What this does not prove
Evidence
deployments/coston2.jsonscripts/deploy-coston2.mjsdocs/evidence/phase-10.mdverified coston2 xrpl-testnet
An XRPL Testnet payment made by Signet was attested by the Flare Data Connector end to end: the request was paid for and submitted to FdcHub, the voting round finalized, the Merkle proof was retrieved from a DA Layer operator, and FdcVerification accepted that proof on Coston2 against the root Flare's validators signed.
What this does not prove
Evidence
scripts/fdc/prove.mjsdocs/evidence/phase-10.mdevidence/receipts/fdc-proof-28B48DC36ACFDA1C22E97C033941355E4680B8F28964DB78F68AA44B41FBEFF4.jsonevidence/receipts/target-chain-8A1492D15309AEBA34ABDE3D03D2FAD5B735165435A3C90F8C6CAFCB571AB51A.jsonverified coston2 xrpl-testnet
Against a genuine Coston2 redemption that anyone can read, Signet opened an action on its deployed instruction sender, produced a decision whose obligation hash matches the deployed contract and both independent implementations, signed and persisted a payment before submitting it, reached validated success on XRPL Testnet, was refused by the ledger on replay, and had the payment attested by FDC and accepted on chain. An independent verifier run from a fresh clone with no credentials confirms all of it, including recomputing the authorization commitment.
What this does not prove
Evidence
scripts/lifecycle/target-chain.mjsdocs/evidence/phase-10.mdevidence/receipts/target-chain-8A1492D15309AEBA34ABDE3D03D2FAD5B735165435A3C90F8C6CAFCB571AB51A.jsonverified coston2 xrpl-testnet
A FAssets redemption status of ACTIVE does not mean the obligation is unpaid; it means the underlying payment has not yet been confirmed on Flare. Signet paid a live Coston2 obligation that the agent had already paid 36 ledgers earlier, while FAssets still reported ACTIVE. None of Signet's duplicate-payment guards can see a payment made by another party.
What this does not prove
Evidence
docs/adr/0003-underlying-payment-precheck.mddocs/evidence/phase-10.mdevidence/receipts/target-chain-8A1492D15309AEBA34ABDE3D03D2FAD5B735165435A3C90F8C6CAFCB571AB51A.jsonEvery payment this system has made, on a public ledger anyone can read.
| Transaction | Request | Ledger | Result | Settles |
|---|---|---|---|---|
| 28B48DC36ACF…FBEFF4 | 44892968 | 19823767 | tesSUCCESS | claims settlement |
| 8A1492D15309…1AB51A | 44928272 | 19825042 | tesSUCCESS | seam proof only |
| 7500DA52CAB2…3759AF | 44851498 | 19822204 | tesSUCCESS | seam proof only |
| 03445ECA6C42…E3C82F | — | 19822182 | tesSUCCESS | claims settlement |