Evidence
Orizon Agents: evidence index for the Stellar Instaward
- As of
- Network
- Stellar testnet
- SOW
- v4, dated
This index follows the approved SOW v4, dated 2026-08-01. Section 6.1 says what evidence each deliverable owes, section 6.2 is the checklist the Ambassador Chapter Lead marks (Present, Partial or Missing), and section 6.3 lists the eleven success metrics. Each deliverable below repeats the SOW's Evidence Type and Description word for word. Every piece of evidence has a status and a link you can open, and anything missing or partly done says why in plain words.
How to use this page
Each row below shows a claim and the links that prove it; click a link to see the proof on Stellar Expert, the public ledger explorer, or on the page it names. You do not need an account, a wallet or any software. Start with the checklist summary, which suggests a marking for each deliverable, then open that deliverable’s items to check them yourself.
How this snapshot was taken: Every on-chain link was re-read on 2026-09-30, after the Epic 5 frontend and backend deploys of 2026-09-29, from Stellar's public testnet record (Horizon, horizon-testnet.stellar.org). Each transaction was confirmed successful, and the date beside it is the day the ledger recorded it, in UTC. Contract activity was cross-checked on Stellar Expert. Every web link was opened without logging in and returned a working page. A wallet counts as the team's when it is in the team wallet register (backend repository, app/data/team_wallets.json) or holds a platform role on the contracts. The metrics were re-measured the same day by the backend's read-only generator (scripts/sow_metrics). An outside operator's agent ids, wallet and transaction hashes appear here only once that operator's consent to publish them is recorded. Nothing was signed, paid or submitted to make this snapshot.
Checklist summary (SOW §6.2)
For each deliverable, the Ambassador Chapter Lead marks the evidence Present, Partial or Missing. The Chapter Lead decides; this page only suggests a marking.
How the suggestion is worked out: If every item is present, the suggestion is Present. If at least one item is present or partial, it is Partial. If none is, it is Missing.
| Deliverable | Suggested marking | Items |
|---|---|---|
| Deliverable 1: Permissionless Agent Registration | Partial | 2 present, 1 partial, 0 missing (of 3) |
| Deliverable 2: Reputation-Gated Routing | Partial | 1 present, 1 partial, 1 missing (of 3) |
| Deliverable 3: Automated Dispute Window + Partial-Credit Refund | Missing | 0 present, 0 partial, 3 missing (of 3) |
| Deliverable 4: Ecosystem Validation Package | Partial | 2 present, 1 partial, 2 missing (of 5) |
| Repositories & Deployments | Present | 6 present, 0 partial, 0 missing (of 6) |
Evidence by deliverable (SOW §6.1)
Each deliverable as the SOW lists it: its evidence type and description, quoted, then each item with its status and proof.
Deliverable 1: Permissionless Agent Registration
- Evidence type (SOW §6.1)
- Repo PR(s) · live URL · tx hash
- What the SOW asks for (§6.1, quoted)
“Merged PRs for the registration flow, the live "Register an Agent" URL on the deployed dApp, and an externally owned agent's registration tx hash on Stellar Expert (testnet).”
- Suggested marking
- Partial
The registration flow is built and merged: the Register an Agent page, signing in the operator's own wallet, and the backend endpoints that build, check and list a registration.
Status: PresentItem 6.1-D1-a
- Frontend pull request #39: the Register an Agent form, its input checks and wallet signing (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/39
- Frontend pull request #40: the registration receipt, plus changing price, delisting and relisting (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/40
- Backend pull request #31: stricter checks on the endpoint that builds a registration (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/31
- Backend pull request #32: agents registered on-chain appear in the marketplace (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/32
- Backend pull request #34: registration checker, name-availability cache and agent management (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/34
- Week-1 evidence bundle on GitHub: what shipped for registration (see the corrections note) (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/tree/main/Week-1-Tranche-Submission
Note: The contract's register call was already open to any wallet. Story 1.01 audited it and needed no contract change, so there is no contracts pull request for this item.
The Register an Agent page is live on the deployed app and opens without logging in.
Status: PresentItem 6.1-D1-b
- Open the live Register an Agent page on orizons.xyz (testnet)https://orizons.xyz/app/register
An agent registered by a wallet the team does not control, with its transaction on Stellar Expert.
Status: PartialItem 6.1-D1-c
- The ecosystem page on orizons.xyz: outside operators and their agents, as the platform lists themhttps://orizons.xyz/app/ecosystem
- Registration of sign_probe_bb5c12 by the team's registration probe key GBI2I…ADBH — 2026-09-07 (team wallet: not external) (opens Stellar Expert) transaction 416bea4f…6a846393 https://stellar.expert/explorer/testnet/tx/416bea4f83e5afd9fc80e38c75ba4b1050031a2d590b0fe6232aa00d6a846393
- Registration of w1_audit_a7x by the team's registration probe key GBI2I…ADBH — 2026-09-07 (team wallet: not external) (opens Stellar Expert) transaction 523f71b8…3111c6ef https://stellar.expert/explorer/testnet/tx/523f71b80dc8e4ecf8e8c5684d3c79b521009d8b010f24d407b0856a3111c6ef
- Registration of spike_97437 by the team's payment-test key GA5LE…MQ2M — 2026-09-15 (team wallet: not external) (opens Stellar Expert) transaction 3ca237c0…c4a705c4 https://stellar.expert/explorer/testnet/tx/3ca237c00bb1fd78fbf8b95fccdd7e46de61fe82bf4ce8558b8231b9c4a705c4
- Registration of uat605_ext_op by the team's QA operator key GBWMD…7BQJ — 2026-09-17 (team wallet: not external) (opens Stellar Expert) transaction 64ad14cd…7f11fa3e https://stellar.expert/explorer/testnet/tx/64ad14cd6516a93b8a2e9e2564bd5cc15c0d9ccfc74ede2694cd7fa47f11fa3e
- Registration of uat624_ext_op by the team's QA operator key GBWMD…7BQJ — 2026-09-24 (team wallet: not external) (opens Stellar Expert) transaction e3f58a12…2e8fce1b https://stellar.expert/explorer/testnet/tx/e3f58a1275ae6be15b6b20e852864a39ec81f7126d6e719a8adcba462e8fce1b
- AgentRegistry contract on Stellar Expert: all 19 registrations, 13 by team wallets and 6 by 2 outside operators (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CAPHXWU53UZUZJGV7IAE57NNMH3YYB5MTWO6YA53KKMXSFVLOITBJ3GQ
- The team wallet register: every wallet the team controls (backend repository) (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/blob/main/app/data/team_wallets.json
Why: Partial. Outside wallets have registered agents: one outside operator's trial registration of one agent, and a second outside operator who registered five agents, all on 2026-09-29 (see Deliverable 4). No outside agent has a working endpoint, a dispatch or a settlement yet: the trial agent is bound to a parked web page, and the five are not bound to any endpoint. Their agent ids, wallets and registration hashes are held back from this index until each operator's consent to publish them is recorded; the platform's public ecosystem page, linked here, lists outside operators by design. The other 13 agents on the registry were registered by wallets the team controls, so none of them counts. The five team registrations linked here were signed by team keys other than the contract admin. They show that registering needs no permission from Orizon, but they are not outside operators. This item becomes present when an outside agent has a working endpoint and its registration can be linked with its operator's consent.
Deliverable 2: Reputation-Gated Routing
- Evidence type (SOW §6.1)
- Screen recording · screenshots · code link
- What the SOW asks for (§6.1, quoted)
“A short recording/screenshots of the decompose plan card showing on-chain reputation per agent, plus a routing example where a sub-floor agent is excluded, and a link to the routing code.”
- Suggested marking
- Partial
Screenshots or a recording of the plan card showing each agent's on-chain reputation before the buyer pays.
Status: PartialItem 6.1-D2-a
- Screenshot of the live plan card: a reputation score on every step, all still at the starting estimate (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/blob/main/Week-2-Tranche-Submission/screenshots/01-orizons-plan-card.png
- Open the live Orchestrator, pick a preset intent and press Decompose to see the plan cardhttps://orizons.xyz/app/orchestrator
- ReputationLedger contract on Stellar Expert: every rating written so far (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CDCSOBEVZUPQZV5GV4D6KYHZCLNGW2KXY74RUHSZ3EZUXF34DPW422ZT
- Rating of research.pro (agt_09l5): 70 out of 100, written on-chain by the platform's scoring key — 2026-09-19 (opens Stellar Expert) transaction cfc0b964…a32fb201 https://stellar.expert/explorer/testnet/tx/cfc0b964906c3695f94cd2d3a1d4e8a8511fe5784a2c5d8b6c26e794a32fb201
- Rating of the team's QA test agent uat624_ext_op: 20 out of 100, written on-chain by the platform's scoring key — 2026-09-24 (opens Stellar Expert) transaction 149805cf…72a51ed8 https://stellar.expert/explorer/testnet/tx/149805cfd72bef2dcbbdd30f6a3014a2af3d2839fcce61774bf0e95772a51ed8
- Frontend pull request #56: the plan card shows each agent's reputation and any agent the floor acted on (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/56
- Week-2 evidence bundle on GitHub: what shipped for reputation-gated routing (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/tree/main/Week-2-Tranche-Submission
Why: Partial. A screenshot of the live plan card exists, taken on 2026-09-19. It shows a reputation score on every step and the 2.75 routing floor. But every agent in it still had the starting estimate (about 3.50 out of 5), not a score earned on-chain, because the platform only began writing ratings later that day. No recording exists yet. Since then the platform has written 33 ratings on-chain, two of which are linked here, so the live plan card now shows earned scores for rated agents. Those ratings came from live test runs whose payments did not settle (see the disclosures). A new screenshot or recording would make this item present.
A routing example where an agent below the reputation floor is left out of the plan.
Status: MissingItem 6.1-D2-b
- Backend pull request #51: the plan lists any agent the floor left out, and the floor itself (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/51
- Backend pull request #58: the floor still holds after planning, and each plan step carries its reputation (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/58
Why: Missing. No agent on the live registry is below the floor today, so there is no live exclusion to show. The lowest is the team's test agent uat624_ext_op, with an on-chain average of about 2.07 out of 5. But every agent starts from an estimate of 3.50, and a few small test ratings are not yet enough evidence to pull it under the 2.75 floor. The exclusion logic is merged and tested (the pull requests here, and the code in the next item). The only frame showing an exclusion so far used a plan written by a test, so it is not offered as evidence. This item becomes present with a recording of a live plan that leaves out a below-floor agent.
A link to the routing code that applies the reputation floor.
Status: PresentItem 6.1-D2-c
- Routing code: the floor check on each agent's reputation (backend, pinned to the Week-2 merge) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/blob/f45aa2e8ee2755a6dfa016a02a6a8c9a977163e1/app/services/reputation_svc.py#L213-L224
- Routing code: agents below the floor are kept off the planner's list (backend, pinned to the Week-2 merge) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/blob/f45aa2e8ee2755a6dfa016a02a6a8c9a977163e1/app/services/orchestrator_svc.py#L334-L460
- Routing code: how a below-floor agent is replaced in a plan (backend, pinned to the Week-2 merge) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/blob/f45aa2e8ee2755a6dfa016a02a6a8c9a977163e1/app/services/orchestrator_svc.py#L209-L249
- Routing code: the notice a buyer sees when an agent is left out (backend, pinned to the Week-2 merge) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/blob/f45aa2e8ee2755a6dfa016a02a6a8c9a977163e1/app/services/plan_notices.py#L96-L106
- Live routing settings from the API: the floor is 5500 of 10000, which is 2.75 out of 5 (opens orizon-agents-be-stellar.onrender.com)https://orizon-agents-be-stellar.onrender.com/api/stellar/reputation/params
Note: The code links are pinned to the backend merge of 2026-09-18 (pull request #58), when this routing shipped. The floor check itself is unchanged in the later build the live API runs. The floor is judged on a cautious lower estimate of each agent's on-chain average, so a new agent with few ratings is not over-trusted or over-punished.
Deliverable 3: Automated Dispute Window + Partial-Credit Refund
- Evidence type (SOW §6.1)
- tx hash · screen recording
- What the SOW asks for (§6.1, quoted)
“A dispute tx hash and the corresponding partial-refund tx on Stellar Expert (testnet), plus a recording of the dispute UI on the trace/receipt view.”
- Suggested marking
- Missing
A dispute transaction on Stellar Expert: the negative on-chain rating written when a buyer's dispute is upheld.
Status: MissingItem 6.1-D3-a
- ReputationLedger contract on Stellar Expert: 34 ratings so far, none of them a dispute (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CDCSOBEVZUPQZV5GV4D6KYHZCLNGW2KXY74RUHSZ3EZUXF34DPW422ZT
- Backend pull request #60: the 24-hour dispute window and the dispute endpoint (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/60
- Backend pull request #63: an upheld dispute writes a negative on-chain rating (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/63
Why: Missing. No dispute has been raised on the live deployment. A buyer can dispute a step only after its payment settles, and no payment has settled during the sprint (see the disclosure on how payment works). All 34 ratings on the live ReputationLedger are ordinary ratings; none is a dispute. The dispute path is merged (the pull requests here). A test run on a separate drill ledger proved the mechanism, but it is not offered as evidence (see the notes).
The matching partial-refund transaction on Stellar Expert.
Status: MissingItem 6.1-D3-b
- Backend pull request #62: the partial-credit refund, paid by the platform's signing key (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/62
- Backend pull request #75: safety checks on the whole dispute money path (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/75
Why: Missing. No refund has been paid on the live deployment. There is nothing to refund yet, because no payment has settled, and refunds ship switched off until one does. A refund is a credit the platform sends from its own balance (see the disclosures). The 0.054 XLM transfer of 2026-09-12 that the Week-1 bundle showed as a refund was a test transfer and is not this evidence (see the corrections note).
A recording of the dispute controls on the trace and receipt view.
Status: MissingItem 6.1-D3-c
- Frontend pull request #68: the Dispute button on the trace and receipt view (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/68
- Frontend pull request #69: dispute status and the refund receipt (merged) (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/69
- Week-3 evidence bundle on GitHub: what shipped for disputes, and why the live evidence is outstanding (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/tree/main/Week-3-Tranche-Submission
Why: Missing. The Dispute button and the refund receipt are merged, but they appear only for a settled payment, and the live deployment has none, so no live recording can be made yet. The Week-3 bundle's dispute screenshots were taken on a local copy with test data. They show the design, not a live dispute, so they are not offered as evidence.
Deliverable 4: Ecosystem Validation Package
- Evidence type (SOW §6.1)
- Demo video · integration guide · tx-hash list
- What the SOW asks for (§6.1, quoted)
“A 3–5 minute demo video (operator + buyer perspectives), the public "List your agent on Orizon" integration guide, and a list of ≥ 2 external registration tx hashes plus ≥ 3 settlement tx hashes on Stellar Expert (testnet).”
- Suggested marking
- Partial
A 3–5 minute demo video showing both an operator and a buyer.
Status: MissingItem 6.1-D4-a
- The demo page on orizons.xyz, where the video will be publishedhttps://orizons.xyz/demo
- Frontend pull request #97 (merged): the demo script and the /demo page that will host the video (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/97
Why: Missing. The video has not been recorded. Its script is merged, and the public page that will host it, orizons.xyz/demo, is live but says the video has not been published yet. The video needs a working outside agent and settled payments to show, so it waits for those. The one-minute video in the frontend README predates the sprint and is not this video.
The public "List your agent on Orizon" integration guide.
Status: PresentItem 6.1-D4-b
- The 'List your agent on Orizon' guide on orizons.xyzhttps://orizons.xyz/guide/list-your-agent
- Frontend pull request #97 (merged): the 'List your agent on Orizon' guide, with every sample checked (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/97
- Reference outside agent on GitHub: a copyable example an operator can run (MIT licence) (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-Example-Agent-Stellar
Note: The guide is public at orizons.xyz/guide/list-your-agent, with every sample in it checked.
At least 2 registration transactions by outside operators, on Stellar Expert.
Status: PartialItem 6.1-D4-c
- AgentRegistry contract on Stellar Expert: all 19 registrations, 13 by team wallets and 6 by 2 outside operators (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CAPHXWU53UZUZJGV7IAE57NNMH3YYB5MTWO6YA53KKMXSFVLOITBJ3GQ
- The ecosystem page on orizons.xyz: outside operators and their agents, as the platform lists themhttps://orizons.xyz/app/ecosystem
- Live adoption counter: outside registrations, as the API counts them (opens orizon-agents-be-stellar.onrender.com)https://orizon-agents-be-stellar.onrender.com/api/ecosystem/adoption
- Backend pull request #89 (merged): the adoption counter that lists outside registrations (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/89
- The team wallet register: every wallet the team controls (backend repository) (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/blob/main/app/data/team_wallets.json
Why: Partial. 2 outside operators have registered 6 agents, all on 2026-09-29, from wallets that are not in the team register and hold no platform role. That is more than the 2 registrations asked for, but the transactions are not listed here yet. The first operator's is a trial registration of a single agent, bound to a server address that is a parked web page, not a working agent. A second outside operator registered five agents, none bound to an endpoint yet. None of the six has had a dispatch or a settlement. The platform's own readiness check reports the trial agent ready only because that check accepts any page that answers. Their agent ids, wallets and registration hashes are held back from this index until each operator's consent to publish them is recorded, so the transactions are not linked. The platform's public ecosystem page, linked here, lists outside operators by design. The live adoption counter counts 6 outside agents and 2 outside operator wallets, which meets both targets, and 0 settled outside workflows against a target of 3 (see metrics 1 to 3).
At least 3 settlement transactions on Stellar Expert, each with its on-chain receipt and attestation.
Status: MissingItem 6.1-D4-d
- PaymentEscrow (v1) contract on Stellar Expert: its Events tab shows 8 pre-sprint self-payments and none since (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CBJPTMAPMGODGZCZ2IMEQSRUX3WGUXNMKDTNN2KMJ3NFGYZ5OJ5525PI
- AttestationRegistry contract on Stellar Expert: 8 pre-sprint seals and none since (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CBYUZKOET43UXTBXZUJIBBJW5ODGD2J2AZVVXCR3QONGOCAHOXQQHEGK
- Payment authorization by the team's QA buyer key GDJHP…PKXJ for uat624_ext_op, never charged — 2026-09-24 (team wallets) (opens Stellar Expert) transaction b122647f…575b099c https://stellar.expert/explorer/testnet/tx/b122647fac7fe0ad40be3168736b5344a15229381d90f8be5582df15575b099c
- Contracts issue #3: why the live escrow cannot move a buyer's funds (defect D-039) (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-Smart-Contract-Stellar/issues/3
- Contracts pull request #4 (merged, not deployed): escrow v2, which fixes the payment defect (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-Smart-Contract-Stellar/pull/4
- Backend pull request #88 (merged and deployed; waits for the escrow v2 contract): settle payments through escrow v2 (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/88
Why: Missing: 0 of 3. No payment has settled on the live escrow during the sprint, and no workflow has been sealed. The deployed PaymentEscrow cannot move a buyer's funds to a different wallet (defect D-039, found in QA), so none of the payment authorizations made since 2026-09-07 has been charged (the escrow has issued 30 authorizations in all, as of 2026-09-30). The escrow's Events tab does show 8 'charged' events, but all are from May and June 2026, before the sprint, and in each the team's admin wallet paid itself. They do not count (see the notes). A fixed escrow, v2, is merged in the contracts repository and the live backend can settle through it, but the v2 contract is not yet deployed to testnet.
The protocol litepaper, with its §6 updated for open registration, public on orizons.xyz (SOW §5.1, Week 4 output).
Status: PresentItem 6.1-D4-e
- The Orizon Agents litepaper (v0.5) on orizons.xyzhttps://orizons.xyz/litepaper
- Frontend pull request #97 (merged): the litepaper, its §6 update and its public page (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/97
- The litepaper (v0.5) as a PDF on GitHub, fixed at commit d90b37e (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/blob/d90b37e5af8f078d0b8e0208569a4c14e8b52097/litepaper/Orizon-Agents-Litepaper.pdf
- The litepaper's updated §6 (operations and governance) source on GitHub, fixed at commit d90b37e (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/blob/d90b37e5af8f078d0b8e0208569a4c14e8b52097/litepaper/sections/06-operations-governance.md
Note: Version 0.5 of the litepaper is written, with §6 updated for open registration, reputation-gated routing and the dispute window, and every format is regenerated from its source. The page offers the litepaper as a PDF, a web page, a Word document and Markdown, with no account needed.
Repositories & Deployments
- Evidence type (SOW §6.1)
- GitHub repos · live deployments · on-chain proofs
- What the SOW asks for (§6.1, quoted)
“GitHub repositories (all MIT): frontend github.com/ALGOREX-PH/Orizon-Agents-FE-Stellar, backend github.com/ALGOREX-PH/Orizon-Agents-BE-Stellar, contracts github.com/ALGOREX-PH/Orizon-Agents-Smart-Contract-Stellar. Deployments: dApp orizons.xyz, API orizon-agents-be-stellar.onrender.com. On-chain proofs: every registration, settlement, and attestation is viewable on Stellar Expert (testnet) under the four live contract IDs.”
- Suggested marking
- Present
Frontend source code is public on GitHub and released under the MIT licence.
Status: PresentItem 6.1-RD-a
- Frontend source code on GitHub (Bl0cksmiths/Orizon-Agents-FE-Stellar) (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar
- Frontend pull request #97 (merged): adds the MIT licence (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar/pull/97
Note: The repository is public, and GitHub detects its MIT licence. The SOW's address on github.com/ALGOREX-PH redirects to this repository.
Backend source code is public on GitHub and released under the MIT licence.
Status: PresentItem 6.1-RD-b
- Backend source code on GitHub (Bl0cksmiths/Orizon-Agents-BE-Stellar) (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar
- Backend pull request #94 (merged): adds the MIT licence (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar/pull/94
Note: The repository is public, and GitHub detects its MIT licence. The SOW's address on github.com/ALGOREX-PH redirects to this repository.
Smart-contract source code is public on GitHub and released under the MIT licence.
Status: PresentItem 6.1-RD-c
- Smart-contract source code on GitHub (Bl0cksmiths/Orizon-Agents-Smart-Contract-Stellar) (opens GitHub)https://github.com/Bl0cksmiths/Orizon-Agents-Smart-Contract-Stellar
- Contracts pull request #5 (merged): adds the MIT licence (opens GitHub) https://github.com/Bl0cksmiths/Orizon-Agents-Smart-Contract-Stellar/pull/5
Note: The repository is public, and GitHub detects its MIT licence. The SOW's address on github.com/ALGOREX-PH redirects to this repository.
The dApp is live at orizons.xyz and runs on Stellar testnet.
Status: PresentItem 6.1-RD-d
- The live Orizon app on orizons.xyz (testnet during the sprint)https://orizons.xyz
- The live agent registry page on orizons.xyzhttps://orizons.xyz/app/agents
Note: orizons.xyz points at testnet for this sprint and is due to switch back to mainnet afterwards, so a visit after the sprint may show mainnet (see the notes).
The API is live at orizon-agents-be-stellar.onrender.com and reports testnet.
Status: PresentItem 6.1-RD-e
- Live API: the network (testnet) and the four contract addresses it uses (opens orizon-agents-be-stellar.onrender.com)https://orizon-agents-be-stellar.onrender.com/api/stellar/network
- Live API status check: ready, with the platform's scoring key (opens orizon-agents-be-stellar.onrender.com)https://orizon-agents-be-stellar.onrender.com/readiness
- Live API endpoint list, including the dispute routes (opens orizon-agents-be-stellar.onrender.com)https://orizon-agents-be-stellar.onrender.com/openapi.json
Note: The API runs on a free plan, so the first request can take up to a minute while it wakes. It is updated by a manual deploy and was last deployed on 2026-09-29 (see the notes).
Every registration, settlement and attestation is viewable on Stellar Expert (testnet) under the four live contract IDs.
Status: PresentItem 6.1-RD-f
- AgentRegistry contract on Stellar Expert (testnet): every agent registration (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CAPHXWU53UZUZJGV7IAE57NNMH3YYB5MTWO6YA53KKMXSFVLOITBJ3GQ
- PaymentEscrow (v1) contract on Stellar Expert (testnet): payment authorizations and charges (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CBJPTMAPMGODGZCZ2IMEQSRUX3WGUXNMKDTNN2KMJ3NFGYZ5OJ5525PI
- ReputationLedger contract on Stellar Expert (testnet): every rating (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CDCSOBEVZUPQZV5GV4D6KYHZCLNGW2KXY74RUHSZ3EZUXF34DPW422ZT
- AttestationRegistry contract on Stellar Expert (testnet): every sealed workflow (opens Stellar Expert)https://stellar.expert/explorer/testnet/contract/CBYUZKOET43UXTBXZUJIBBJW5ODGD2J2AZVVXCR3QONGOCAHOXQQHEGK
- Team admin wallet GA7AI…5OQV on Stellar Expert: contract admin and payment settler on the live escrow (opens Stellar Expert)https://stellar.expert/explorer/testnet/account/GA7AI5TAJEZA27I666DSJC4MUJYBEWUYNNZWPU7R2ONA7IZQVO6R5OQV
- Platform production key GDB4N…CDHP on Stellar Expert: writes ratings and seals since 2026-09-19 (opens Stellar Expert)https://stellar.expert/explorer/testnet/account/GDB4N25UYM3YNTTAWX7LSGI2P7OR62QZQXRNQWAGF5TFVENDKCTTCDHP
- Rating role on the ReputationLedger handed from the admin wallet to the production key GDB4N…CDHP — 2026-09-19 (opens Stellar Expert) transaction 216e1b5f…e8d201f8 https://stellar.expert/explorer/testnet/tx/216e1b5f6ade4d75ec671bcda27b462bfd373d041b1ba2150d76002ee8d201f8
- Sealing role on the AttestationRegistry handed from the admin wallet to the production key GDB4N…CDHP — 2026-09-19 (opens Stellar Expert) transaction c965980f…f7a19a3c https://stellar.expert/explorer/testnet/tx/c965980fd06d5917bfa46fdefc72898422a3f50136e0ac4f487e4ed0f7a19a3c
Note: These four contracts are the live set the API reports. Each contract page has an Events tab that lists everything it has recorded. They show real activity, but no settlement or attestation from the sprint yet (see Deliverable 4). A fifth contract, escrow v2, is merged but not deployed.
Success metrics (SOW §6.3)
6 of 11 met.
Each target is the SOW’s own. Where a target was missed, the reason is given in its row.
| Metric | Target | Achieved | Status | Proof |
|---|---|---|---|---|
| Adoption targetsExternally-operated agents registered on Testnet | ≥ 2 | 6How measured: Read every agent the AgentRegistry contract lists, with its owner, straight from testnet. An agent counts only if its owner is neither one of the team's wallets (the committed register) nor a key the platform runs (network admin, dispatch signer, ratings signer and scorer, registry admin, escrow settler and admin, ledger scorer, attestation sealer). | Met Met on registrations, which is what the SOW counts: 6 agents registered from 2 outside operators' wallets. No external agent is bound to a working endpoint: one outside operator's single agent is bound to a parked web page, the other operator's five agents are not bound to any endpoint yet, and none has run or settled (see metric 3). Their ids and registration hashes are held back here until each operator's consent to publish them is recorded. |
|
| Adoption targetsUnique external operator wallet addresses | ≥ 2 | 2How measured: The distinct owner wallets of the registered agents, each checked the same way as the row above. A wallet counts only if it is neither one of the team's wallets (the committed register) nor a key the platform runs (network admin, dispatch signer, ratings signer and scorer, registry admin, escrow settler and admin, ledger scorer, attestation sealer). | Met Met on registrations, which is what the SOW counts: 2 outside operators' wallets own agents, one owning 1 agent and the other 5. No external agent is bound to a working endpoint: one outside operator's single agent is bound to a parked web page, the other operator's five agents are not bound to any endpoint yet, and none has run or settled (see metric 3). Their addresses are held back here until each operator's consent to publish them is recorded. |
|
| Transaction targetsWorkflows routed to external agents & settled on Testnet | ≥ 3 | 0How measured: Walked every id each escrow contract has issued (its id counter numbers every authorization and receipt, so this does not depend on how long the network keeps events) and read each receipt and the payer that authorized it. A v1 charge and each payout of a v2 settle count as one charge. A charge is excluded when it is a self-payment (the payer owns the agent, is the escrow's settler, or is a platform key) or settled before the sprint began on 2026-09-07. Testnet settles in native XLM, not USDC: the escrow's payment asset is the native XLM asset contract. A workflow counts when at least one of its counted charges paid an agent run by an outside operator; several charges of one job are one workflow. | Not met Why: 6 agents owned by outside operators are registered, but none is bound to a working endpoint, and no workflow paid to one has settled since the sprint began on 2026-09-07. |
|
| Transaction targetsOn-chain USDC settlements (charges) recorded | ≥ 3 | 0 (the escrow's 8 older 'charged' events do not count)How measured: Walked every id each escrow contract has issued (its id counter numbers every authorization and receipt, so this does not depend on how long the network keeps events) and read each receipt and the payer that authorized it. A v1 charge and each payout of a v2 settle count as one charge. A charge is excluded when it is a self-payment (the payer owns the agent, is the escrow's settler, or is a platform key) or settled before the sprint began on 2026-09-07. Testnet settles in native XLM, not USDC: the escrow's payment asset is the native XLM asset contract. | Not met Why: None of the 8 charges on record counts: all 8 were the agent's owner paying itself and all 8 were settled before the sprint began (2026-05-13 to 2026-06-09). No payment from a buyer to a different agent owner has settled since the sprint began. |
|
| Transaction targetsDispute → partial-refund settlements | ≥ 1 | 0How measured: Read the dispute ratings the platform wrote to the ReputationLedger (from its keys' full transaction history) and traced each back, through the derived job id the backend records a dispute under, to the charge it disputes. A refund counts only when that charge counts and the platform then paid its payer back over the asset contract, no more than the charge. A transfer with no dispute behind it (such as a refund drill) does not count. The ledger's lifetime dispute count for every agent is read as a cross-check. | Not met Why: No dispute has been refunded yet. The reputation ledger holds 34 ratings (34 of kind auto) and no dispute rating; its lifetime dispute count is 0 across all 19 agents. No charge has settled since the sprint began on 2026-09-07 that a dispute could refund. The only transfer out of a platform key on record, on 2026-09-12, went to a team key with no dispute behind it. |
|
| Technical milestonesPermissionless AgentRegistry.register flow live on the dApp | Yes | Yes: the Register page is live and open to any wallet. Two outside wallets have registered agents (see metric 1).How measured: Opened the /app/register page on the live dApp with no login, and checked the live backend publishes the route that builds an unsigned registration transaction for the owner's own wallet to sign. The registry contract's register needs only the owner's signature, no admin. | Met |
|
| Technical milestonesReputation-gated routing (reads avg_bps, applies a floor) live | Yes | Yes: the planner reads each agent's on-chain reputation and applies a floor of 2.75 out of 5. No agent is below the floor today, so no live exclusion can be shown (see Deliverable 2).How measured: Read the live reputation settings the router applies (whether the floor is on, and its value) from the deployed API. The router scores each agent from the ReputationLedger's on-chain average and leaves out any agent below the floor. | Met |
|
| Technical milestonesAutomated dispute window + partial-credit refund live | Yes | Partly: the dispute routes are deployed, but no dispute window can open until a payment settles, which needs escrow v2, and refunds are switched off.How measured: Checked that the live backend publishes the dispute routes (open, read, uphold, reject); that a dispute window can open at all, which needs a settled payment, and so the escrow v2 contract live; that its readiness report shows refunds switched on (disputes.reconcile.enabled, true only when refunds and the refund sweep are both on); and that at least one dispute has been refunded on-chain (the dispute refund row above). Yes when all hold, Partly when the routes are deployed but the rest does not, and No when the routes are not. | Not met Why: No dispute window can open until a payment settles, which needs escrow v2, and refunds are switched off. |
|
| Technical milestonesPublic "List your agent on Orizon" integration guide published | Yes | YesHow measured: Opened the /guide/list-your-agent page on the live dApp with no login; published means it answers there. | Met |
|
| Technical milestones3–5 min demo video published | Yes | NoHow measured: Opened the /demo page on the live dApp with no login and read the published marker the page renders (data-demo="published") and the video's running time, which must be 3 to 5 minutes. | Not met Why: The /demo page is live but says the video has not been published yet. |
|
| Technical milestonesAll source code released under MIT License | Yes | YesHow measured: Asked GitHub which licence it detects on each repository: the frontend, backend and smart contracts the SOW names, and the example agent. Each must be MIT. | Met |
|
Disclosures
The limits of what this evidence shows, stated plainly.
Testnet only
SOW §3.6: "Testnet: all Instaward work is built and validated on Stellar testnet for this sprint — no mainnet funds are at risk. Orizon's contracts are also deployed on Stellar mainnet outside this award; none of that deployment is funded by, or in scope for, this Instaward." Every Stellar Expert link in this index points at the testnet explorer. Testnet money has no real value.
SOW reference: §3.6
Anyone can register; payment is still run by the platform
SOW §3.8: "Deliverable 1 makes registration permissionless; it does not make settlement permissionless." Any wallet can register an agent without asking Orizon. Paying agents, writing ratings and deciding disputes are still done by keys the platform holds.
SOW reference: §3.8
Payments are released by a single platform key
SOW §3.8: "the settler is not permissionless. The settler (the role that executes charge and will operate this sprint's dispute/partial-credit path) is a single platform-held backend key, fixed at contract deployment; the contract exposes no settler-rotation function." This is still true of the live escrow: one team-held key releases payments, with no multi-signature or threshold control.
SOW reference: §3.8
Changed since the SOW: Two changes. First, the SOW says one keypair also holds the admin, scorer and sealer roles. On 2026-09-19 the rating (scorer) and sealing (sealer) roles moved from the admin wallet GA7AI…5OQV to a separate production key, GDB4N…CDHP; the two transactions are linked under Repositories & Deployments. The admin wallet still holds the admin role and is the settler on the live (v1) escrow. The dispute credit is not paid by that settler: the production key GDB4N…CDHP pays it, and that key becomes the escrow's settler once escrow v2 is deployed. Both keys are held by the team. Second, escrow v2 adds a set_settler function, so the settler can be replaced. v2 is merged (contracts pull request #4, 2026-09-28) but not deployed to testnet, so the live escrow still cannot rotate its settler.
How payment works, and why no payment has settled
SOW §3.8: "the settler executes charge, which moves USDC directly from the buyer to the agent owner's wallet through the Stellar Asset Contract, the platform never takes custody of funds." On the live escrow (v1) this does not work: charge cannot move funds from a buyer who is not also the settler (defect D-039, contracts issue #3). No payment between two different wallets has ever settled on it.
SOW reference: §3.8
Changed since the SOW: Escrow v2 fixes this by holding the buyer's authorized amount from the moment the buyer authorizes, then paying each operator at settlement. That means the platform's contract does hold funds for a while, which changes the SOW's "never takes custody" statement. v2 is merged in the contracts repository (pull request #4), and the backend deployed on 2026-09-29 can settle through it (pull request #88), but the v2 contract is not deployed to testnet.
Refunds are credits paid from the platform's own funds
When a dispute is upheld, the platform sends the buyer a credit from its own balance. It is not taken back from the agent's owner, and it is not drawn from the buyer's authorization. The platform's signing key (GDB4N…CDHP) pays dispute credits, writes ratings and seals attestations, and it becomes the escrow's settler once escrow v2 is deployed. The deployed v1 escrow's settler is the admin key (GA7AI…5OQV). The credit is the price of the disputed step, capped by what the payment actually moved. A credit above the per-refund ceiling (MAX_REFUND_USDC) is refused outright, not reduced to the ceiling, and nothing is paid. Refunds ship switched off, and none has been paid on the live deployment.
SOW reference: §3.8, §4.1 (Deliverable 3)
Changed since the SOW: The SOW says the refund is executed by the settler "within the buyer's envelope" (§3.8) and "against the buyer's authorization envelope" (§4.1). The live escrow has no refund function and never holds funds, so there was nothing inside the envelope to return. The refund became a separate transfer funded by the platform (backend decision records ADR 0002 and ADR 0008).
An agent's server address is stored off-chain
The on-chain agent record holds its owner, id, name, skills and price. It has no field for the address of the operator's server. The operator links that address to their agent in Orizon's database, proving they own the agent by signing a message with the owner wallet (backend decision record ADR 0001). So where Orizon sends an agent's work is decided by Orizon's database, not by the chain.
Changed since the SOW: Not in the SOW. It was chosen in Week 1 (decision spike 1.06) instead of redeploying the registry, which would have changed the published contract addresses.
Ratings and dispute decisions are made by the platform
SOW §3.8: "reputation ratings can only be submitted by the platform's scorer key. Settlement, rating submission, and dispute resolution are therefore trusted, permissioned operations today." This is still true. Only the platform's production key writes ratings, and disputes are decided by the platform's operator.
SOW reference: §3.8
Changed since the SOW: The SOW says a rating is recorded once per settled job. The platform now rates every paid run whether or not its payment settles, so that failed deliveries are also recorded (backend pull request #57). The 33 ratings written during the sprint all come from runs whose payment did not settle.
Notes
How to read the links
Stellar Expert (stellar.expert) is a free public website that shows everything recorded on the Stellar network. A transaction link opens one recorded action, with its date and a 'Successful' mark. A contract link opens a program on the network; its Events tab lists everything it has recorded. An account link opens a wallet and its history. Every such link here uses the testnet explorer. GitHub pull request links show 'Merged' or 'Open' at the top of the page. Nothing needs a login.
USDC in the SOW, XLM on testnet
The SOW describes payments in USDC. On testnet, Orizon's escrow is set up with Stellar's native asset, XLM, through its standard asset contract (CDLZF…GCYSC). So every payment and refund amount in this index is in testnet XLM. The code does not depend on the asset; metric 4 is measured on that basis.
How an outside operator is told apart from the team
The team keeps a public register of every wallet it controls, in the backend repository (app/data/team_wallets.json). An agent counts as outside only when its owner is not in that register and holds no platform role. 13 of the 19 registrations so far are by team wallets, and each is labelled that way here. The other 6, all on 2026-09-29, are by 2 outside operators: one operator's trial agent, bound to a parked web page, and a second operator's five agents, not yet bound to any endpoint (see Deliverable 4).
The 8 'charged' events on the escrow do not count
The live PaymentEscrow's Events tab shows 8 'charged' events and the AttestationRegistry shows 8 seals. All 16 are from 2026-05-13 to 2026-06-09, months before the sprint began on 2026-09-07. In each, the team's admin wallet was the buyer, the settler and the agent's owner, so it paid itself and no money changed hands. They are linked under metric 4 so you can check them, and they are not counted toward any target.
Corrections to evidence submitted earlier
1. The Week-1 bundle presented transaction 9b8ffaa4…9a68 (2026-09-12, 0.054 XLM) as "a real refund landed on testnet", and a backend record called it the SOW §6.1 Deliverable 3 artifact. It was a test transfer from the admin wallet to a team key (GBI2I…ADBH), tied to no dispute and no payment. It shows only that the platform key can send a transfer. It is not Deliverable 3 evidence. 2. The Week-1 bundle marked Deliverable 1 as met using two registrations: dan_w1_probe, signed by the team's admin wallet, and sign_probe_bb5c12, signed by a team probe key. Both are team wallets, so neither is the externally owned registration Deliverable 1 asks for. 3. The Week-1 bundle said the refund record was on the backend's main branch. It was removed on 2026-09-22 (backend pull request #42), so that link no longer works. 4. The Week-2 technical document called the 40-second Week-2 build clip on X a demo video. It is a build update, not the 3–5 minute demo the SOW asks for.
Test runs are not deliverable evidence
QA proved the dispute path by running the real backend against a separate drill ReputationLedger (CAFZB…5CRP) and a test asset (CCW66…GUENL), signed by a QA drill key (GA45I…EGZ2), on 2026-09-25 and 2026-09-26. Those transactions are real, but they are a mechanism test on a separate drill ledger, not deliverable evidence, so none is linked here. Likewise, the only frame that shows the reputation floor excluding an agent (QA frame RF-17) used a plan written by the test.
Targets come from SOW v4
An earlier SOW, v3 (2026-06-11), set lower targets: at least 1 outside agent, 1 outside wallet and 2 settled workflows. The approved v4 (2026-08-01) raised them to 2, 2 and 3. This index measures against v4. Today they stand at 6, 2 and 0, which meets the first two v4 targets and misses the third. The first two count registrations only: no outside agent is bound to a working endpoint yet (see Deliverable 4).
Repository addresses
The SOW names the repositories under github.com/ALGOREX-PH. They moved to the Bl0cksmiths organisation, and the old addresses redirect to the new ones, so this index links the new addresses directly.
The live API is updated by hand
The live API on Render does not update itself when code merges; the team deploys it by hand. It was last deployed on 2026-09-29, with everything merged to the backend's main branch up to pull request #94, including the adoption counter (backend pull request #89). Settlement through escrow v2 (backend pull request #88) is in that build but cannot run yet: the escrow v2 contract is not deployed to testnet, so the live escrow is still v1. No merged backend work is waiting for a deploy.
orizons.xyz switches back to mainnet after the sprint
For this sprint orizons.xyz was switched to Stellar testnet. After the sprint it is due to switch back to mainnet. This index is a snapshot of 2026-09-30; if the site shows mainnet when you open it, the testnet evidence here is still on the testnet explorer links.
How long testnet keeps this evidence
Stellar's testnet was last reset on 2025-12-17, and its public record keeps full history since then, so every link here still opens. The Stellar Development Foundation resets testnet from time to time. A reset would erase this history, and the links would stop working.
Where else to look
- List your agent on Orizon — the public operator guide, step by step, readable with no account.https://orizons.xyz/guide/list-your-agent
- Demo — the demo video page, and how to verify each deliverable yourself.https://orizons.xyz/demo
- Ecosystem — who runs agents on Orizon besides the team, read from the chain.https://orizons.xyz/app/ecosystem
- Litepaper — the protocol litepaper, with §6 updated for open registration, to read or download.https://orizons.xyz/litepaper
- Frontend source code (opens GitHub) — the repository on GitHub.https://github.com/Bl0cksmiths/Orizon-Agents-FE-Stellar
- Backend source code (opens GitHub) — the repository on GitHub.https://github.com/Bl0cksmiths/Orizon-Agents-BE-Stellar
- Smart contracts source code (opens GitHub) — the repository on GitHub.https://github.com/Bl0cksmiths/Orizon-Agents-Smart-Contract-Stellar