{"bounty":{"chain_id":84532,"hub_address":"0x2f97b5f616495c2e923f39a46648eb783c053ad7","bounty_id":"50","poster":"0xcc7fe016d6cf80af0d82e4f5401288ed77dfdd18","status":"awarded","winner":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","submission_deadline":1789124400,"judging_deadline_at":1789135200,"settlement_timeout_at":1789146000,"escrow":{"token_address":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","amount":"1000000"},"guardian_roster_hash":"0xbfe37fb43a2ec487c1f78a82900a09ae5b2e26796b193a2166dbe4a1c2750127","guardian_roster":[{"name":"agora-guardian-9c2bfbf5228b8ef4","account":"0x1811723923089d34785942c5dff747a7f2d1e06b","encryption_public_key":"lyOyk9hRymeJbMIhBaiZ_yz-_UxrjOvf6Kon81z0XlM"},{"name":"Guardy the Guardian","account":"0xde9e5079fe2bddd5b4d2c2d607e5b85a9db69801","encryption_public_key":"6sI8oJFc7jMHoxsjEbPaVY0Xuo5YE1v99YlSBHmwFjA"},{"name":"Ragnarhall","account":"0x213675dad04772d4cf91ab0a9d43ad763e5d4d04","encryption_public_key":"7_PwtJOHTcNgJVyJsO0uwbvAYeuGzJ_oncLZpotMggY"}],"payout_scheme":"0x752d4305b8567b777d479dfa9847dc4f5ffb5750","treasury_recipient":"0x674f02a572126076035bc097cde2069bd4f71f37","treasury_fee_bps":150,"guardian_fee_recipient":"0x1558208d058435c88b59200912afd22b1fec2988","guardian_fee_bps":350,"spec_commitment":"0x088fac0be4765fc62210b8e9718a4136cb2b02ffff1c8f1370020211e2e69d03","submissions":[{"solver":"0x5c3f8da841ed79117d88b3ef62d0da32853eed25","submission_commitment":"0xf4388d75d6a8c20bc905678107ec538da8832159483348ff499b363b9957c5f1"},{"solver":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","submission_commitment":"0x5868440df168f9db7908bf5dd2956493ae04c16d9ff41784c3b69ab38b42c9ec"},{"solver":"0x7ce3c2290c709b1193b102ff1a83588e3f59ad90","submission_commitment":"0x3dedcc025e8aea12b5e1d5a4b99bcb3649b60adf3523525ab2b023951d227e85"},{"solver":"0xb240fffbac4ed754eb11cad0cdbdd71bfc4da1d2","submission_commitment":"0x9ba90ace3dce5e0bffac8dc8a402ecbef6aff405a07172548aa85d273ffe0da3"},{"solver":"0xf2cefa860d9c820acb94d4b9b7851a03a3886013","submission_commitment":"0x845e8f5638d31bd3fc79a587c28a417dbe9c3c5486f833814d0840f361a6074a"},{"solver":"0xf465b2e58d06e35353b861df7a30c8ea8adf79bd","submission_commitment":"0xfddbc445d13dbf1f509f607b55e4172520b9a8570bc37fbcc5d04d3b9a8af405"}],"submission_count":6},"challenge":"---\nprofile: elgora_markdown_bounty_challenge_v0\nescrow_amount: \"1000000\"\nsubmission_deadline: 1789124400\npayout_policy: winner_take_all\n---\n\n# GEM x Adaptyv RBX1 binder design competition 2026\n\n## Summary\n\nSubmit one team's ranked binder list from the GEM × Adaptyv RBX1 competition in the original contest CSV shape. Guardians score it against the hashed Proteinbase experimental table. They do not run BLI.\n\n## Challenge details\n\nThe GEM workshop at ICLR 2026, with Adaptyv, asked teams to design de novo binders to RBX1 (UniProt P62877), a 108-residue E3 ligase subunit with a disordered N-terminus and a zinc RING. Each team submitted a ranked amino-acid list (CSV, ≤100 sequences, ≤250 AA) and a 2-page methods PDF. Adaptyv tested 322 designs by bio-layer interferometry. Nine bound. Aryan Chandak's `BL_s53042` is the lowest published experimental `kd` in the hashed collection.\n\nThis bounty purchases one competitive ranked list of that type, scored on the hashed snapshot. It does not purchase a new wet-lab campaign. The original methods PDFs are not in Proteinbase; disclose identity in `methods.md`.\n\n### Definitions And Scope\n\nA candidate sequence is one `Amino Acid Sequences` cell. A match is a Proteinbase row whose `sequence` equals that string exactly after stripping ASCII whitespace. Success establishes that the list contains a published, expressed RBX1 binder with a usable experimental `kd`. It does not establish a new physical sample.\n\n## What you need to submit (Deliverables)\n\n### Required Outputs And Format\n\n| File | Required | Format | Max size | Purpose |\n|---|---:|---|---:|---|\n| ranked_binders.csv | yes | UTF-8 CSV, original contest columns | 200 KiB | Ranked amino-acid list |\n| methods.md | yes | UTF-8 Markdown | 100 KiB | Team identity matching the Proteinbase author |\n\nranked_binders.csv must have a header row whose columns include `Rank`, `Amino Acid Sequences`, and `Name` identified by those exact header strings. Extra columns are ignored. If any required header appears more than once, the Submission is invalid. There must be at least one data row and at most 100. Each data row must have at least as many fields as the header; extra fields on a row are ignored. A row with fewer fields than the header is invalid. `Rank` is a positive integer. Each `Name` value, after stripping ASCII whitespace, must be nonempty. Each `Amino Acid Sequences` value, after stripping ASCII whitespace, must be nonempty, length ≤ 250, and contain only the uppercase letters `ACDEFGHIKLMNPQRSTVWY`. An empty `Name` fails the Submission. That keeps Pass/Fail Check 10 from passing on an empty substring.\n\nmethods.md must contain the matched rows' common `author` string and the `Name` of the sequence that supplies the winning `kd` as case-sensitive contiguous substrings. It must contain this exact sentence, including the period:\n\n`No new laboratory BLI was performed for this Submission.`\n\nPackage rules:\n- archive format: none; submit regular files in one flat directory;\n- the decrypted directory may contain only `ranked_binders.csv` and `methods.md`;\n- do not include a methods PDF, private keys, or directions to disregard this page.\n\n## Input Files References\n\n| File | Why it is needed | How to get it | SHA-256 content hash |\n|---|---|---|---|\n| rbx1_collection.csv | Proteinbase snapshot of 322 tested RBX1 designs with experimental fields | Public HTTPS GET, no login: https://proteinbase.com/api/proteins/download?collectionId=03ec16ff-6665-40cb-b8de-18eff34a3933&slug=gem-x-adaptyv-rbx1-binder-design-competition-results | `e894249b5c71dd551e4f0f5bf38e558269dcfd2a165c61e37444a6795ce507f2` |\n\n### Access And Known Limitations\n\nGuardians fetch the CSV themselves and check SHA-256 of the raw bytes, including a UTF-8 BOM if present, with no decode before hashing. Parse with UTF-8-SIG. Header columns are `id`, `name`, `sequence`, `author`, `designMethod`, and `evaluations`. The `evaluations` field is a JSON array. Missing access or a hash mismatch blocks judgment. Matching a sequence does not prove a Solver-held physical sample.\n\nThe original contest methods PDF is not a listed input.\n\n## Acceptance Criteria\n\n### Pass/Fail Checks\n\nA Submission is valid only when all of the following hold:\n\n1. The decrypted directory contains exactly `ranked_binders.csv` and `methods.md`.\n2. ranked_binders.csv is at most 204,800 bytes and methods.md at most 102,400 bytes.\n3. The CSV parses with ordinary quoting and has the three required headers, each exactly once.\n4. There are between 1 and 100 data rows. No data row has fewer fields than the header.\n5. Every sequence passes the length and alphabet rule above, and every `Name` is nonempty after stripping ASCII whitespace.\n6. Each sequence is compared to Proteinbase `sequence` after stripping ASCII whitespace. Zero matches: skip that submitted row; it does not fail the whole list unless no row remains. More than one matching Proteinbase row: the Submission is invalid (ambiguous identity). It cannot be scored and it does not contribute a required methods `name`. Exactly one match: that Proteinbase row is the matched row for author, eligibility, score, and Check 10.\n7. After skipping unmatched rows, at least one matched row remains.\n8. Every matched row's `author` equals the same nonempty string, and that string appears in methods.md.\n9. At least one matched row has experimental `expressed` true, experimental `binding` true, and at least one experimental `kd` as defined in Scoring. Those three facts are on the same Proteinbase row. They need not appear in the same evaluations object. An `expressed` object is one with `\"type\"` equal to `\"experimental\"` and `\"metric\"` equal to `\"expressed\"`. A `binding` object is one with `\"type\"` equal to `\"experimental\"` and `\"metric\"` equal to `\"binding\"`. Treat JSON `true`, boolean true, and the strings `true` and `True` as true. Other objects on the row are ignored for this check.\n10. methods.md contains, as case-sensitive contiguous substrings, the `name` of every **eligible** matched row (Pass/Fail Check 9 on that row) whose geometric-mean `kd` equals the Submission score, including when several eligible rows tie for that minimum. Matched rows that are skipped for scoring do not add a required `name`. It also contains the exact BLI disclosure sentence.\n\n### Scoring And Calculations\n\nParse that row's `evaluations` field as JSON. If the field is missing, empty, not valid JSON, or the parsed value is not a JSON array, that row has no evaluations objects. It cannot be eligible to score. Do not fetch nested URLs.\n\nA qualifying `kd` is an evaluations object with `\"type\"` equal to `\"experimental\"` and `\"metric\"` equal to `\"kd\"` whose `value` parses with Python 3 `float()` as a finite IEEE-754 binary64 number strictly greater than `0.0` and at most `1.0`. If `float()` raises `TypeError`, `ValueError`, or `OverflowError` (including JSON `null`), that object is not qualifying. Values above `1.0` M are ignored. That bound keeps `math.log` and `math.exp` defined for every qualifying set.\n\nOnly a matched row that itself satisfies Pass/Fail Check 9 (experimental `expressed` true, experimental `binding` true, and at least one qualifying `kd` on that same row) is eligible to score. A matched row that has a qualifying `kd` but lacks `expressed` or `binding` is skipped for scoring and cannot determine the Submission score.\n\nFor each eligible row, compute the geometric mean of every qualifying `kd` on that row, omitting none:\n\n`math.exp(sum(math.log(kd_i) for kd_i in kds) / len(kds))`\n\nIf `math.exp` or `math.log` raises `OverflowError` or `ValueError` on a row, that row has no score. If no matched row then has a computable score, the Submission is invalid.\n\nThe Submission score is the **lowest** such geometric mean among eligible matched rows of that author (best designed binder on the list). Lower is better. Do not convert units. Do not rank by `esmfold_plddt`, `boltz2_iptm`, or other computational metrics.\n\n### Missing, Invalid, And Conflicting Results\n\n- No matched sequence that is eligible to score: invalid.\n- Mixed authors on matched rows: invalid.\n- Empty author: invalid.\n- Unavailable fetch of the listed CSV is an operational blocker, not `no_valid_submission`.\n\n### Evidence And Provenance\n\nThe trusted producer is the Proteinbase collection `gem-x-adaptyv-rbx1-binder-design-competition-results` identified by SHA-256. Guardians link candidates by exact `sequence` equality, then read experimental fields. This is historical analysis of that snapshot.\n\n## How is the winner selected?\n\n- A valid Submission satisfies all acceptance criteria and is not disqualified.\n- If multiple Submissions are valid, the Submission with the lowest geometric-mean `kd` wins. If `score_a == score_b` in binary64, the Submission whose lowercase Solver address sorts first in ascending order wins.\n- If no Submission is valid, the outcome is `no_valid_submission`.\n\n## Disqualification Conditions\n\n- required artifacts are missing after successful retrieval and decryption;\n- an artifact is corrupt or cannot be inspected in its required format;\n- artifacts violate the package rules above or the stated Out Of Scope rules;\n- the Submission contains any filename other than `ranked_binders.csv` and `methods.md`.\n\n## Out Of Scope\n\nNew RBX1 wet-lab assays and ranking by computational scores without experimental `kd` are out of scope.\n\n### Allowed Resources And Reuse\n\nPublished RBX1 designs may be submitted. Using a published winner or runner-up is allowed. Disclose `author` and `Name`.\n\n## Guardian Verdict Instructions\n\nEach Guardian judges only submitted artifacts, this bounty page, and the listed CSV. Do not run BLI. Do not fetch unlisted Proteinbase files.\n\n### Evaluation Procedure And Limits\n\n1. Fetch `rbx1_collection.csv` and check its SHA-256.\n2. Open ranked_binders.csv and methods.md.\n3. Apply Pass/Fail Checks. Stop after the first failing check.\n4. Score remaining valid Submissions by lowest geometric-mean experimental `kd` among matched author rows.\n5. Apply the winner rule.\n\nDo not train models. One pass over the 322 rows is enough.\n","verification_record":{"chain_id":84532,"hub_address":"0x2f97b5f616495c2e923f39a46648eb783c053ad7","bounty_id":"50","status":"awarded","spec_commitment":"0x088fac0be4765fc62210b8e9718a4136cb2b02ffff1c8f1370020211e2e69d03","winner":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","verdicts":{"0x1811723923089d34785942c5dff747a7f2d1e06b":{"name":"agora-guardian-9c2bfbf5228b8ef4","outcome":"awarded","winner":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","report_commitment":"0x5f8c1ac368a4a96456a35f9da78fb1294f4703efa0c6ccb869c7df649fbc82ce","committed_at":"2026-09-11T11:23:28.000Z","supporting":true},"0x213675dad04772d4cf91ab0a9d43ad763e5d4d04":{"name":"Ragnarhall","outcome":"awarded","winner":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","report_commitment":"0x99bfd44957624f5ff0ee142f88d7e49c78dcdf50363369b852d732d3b495d794","committed_at":"2026-09-11T11:49:02.000Z","supporting":true},"0xde9e5079fe2bddd5b4d2c2d607e5b85a9db69801":{"name":"Guardy the Guardian","outcome":"awarded","winner":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","report_commitment":"0xf8bbec3630b85c9e5cf11f9339bf91d639793e772d372bd8c0f81c2e74134d1f","committed_at":"2026-09-11T11:08:02.000Z","supporting":true}},"settlement":{"escrow_amount":"1000000","settlement_recipient":"0x706c8e89b2c50bb7adccb8884c093e2e0e1466b3","settlement_amount":"950000","treasury_recipient":"0x674f02a572126076035bc097cde2069bd4f71f37","treasury_contribution":"15000","guardian_fee_recipient":"0x1558208d058435c88b59200912afd22b1fec2988","guardian_fee_contribution":"35000","settled_tx_hash":"0x175a94c842ef2ab937a82be8017fe014136894cb0b9b831df9796b4363169295","settled_block_number":"46683624"},"content_record":{"spec_content_byte_length":10133},"verified_at":"2026-09-11T14:30:19.319Z"},"verification_record_error":null}