DocsThe data protocol
proposals/v1
packages/core/schema/proposals.schema.jsonOn this page
A DAO's proposals and how each account voted on each (board #93; Elco, 11 Nov: 'when a proposal is hovered little dots show up on the inside showing yes and no votes, absent votes show nothing'). One per map, named by the map's address, read from the DAO's own chain and read again to refresh. An account that didn't vote on a proposal isn't in its votes: absent, never a guess. Each vote keeps the DAO's own word for it.
Fields
| Field | Type or allowed values | Presence in its parent | Description |
|---|---|---|---|
petal |
"proposals/v1" | Required | |
about |
string | Required | the map, by its address (its card's id) |
source |
object | Required | where they were read: the DAO's kind, its contract, the calls, and when |
source.kind |
string | Required | the DAO's kind, in a word: sputnik, baal |
source.contract |
string | Required | the DAO's contract: near:mainnet:<account>, eip155:<chain>:<address> |
source.ref |
string | Required | the calls or events they were read from |
source.at |
string | Required | |
proposals |
array | Required | |
proposals[] |
object | Required | |
proposals[].id |
string | Required | |
proposals[].title |
string | Required | its title, from its own text: a Title line, or its first words |
proposals[].kind |
string / null | Required | what it does, in the DAO's own word (Transfer, ChangePolicy, …), or null |
proposals[].proposer |
string / null | Required | |
proposals[].at |
string | Required | when it was submitted |
proposals[].closes_at |
choice | Required | when its voting closes: by the DAO's policy (Sputnik's proposal period from submission), or as the DAO set it (Baal's vote end); null when unknown |
proposals[].closes_at (variant 1) |
string | Required | |
proposals[].closes_at (variant 2) |
null | Required | |
proposals[].decided_at |
choice | Required | when it was decided, where the DAO records it (Baal's processing); null where it doesn't (Sputnik) |
proposals[].decided_at (variant 1) |
string | Required | |
proposals[].decided_at (variant 2) |
null | Required | |
proposals[].outcome |
"passed" / "rejected" / "removed" / "expired" / "in progress" / "failed" / "moved" / "cancelled" | Required | |
proposals[].as_said |
string | Required | the DAO's own word for its status |
proposals[].ref |
string | Required | the proposal: proposal:<caip2>:<dao>:<id> |
proposals[].votes |
array | Required | each account that voted, once; an account that didn't is absent |
proposals[].votes[] |
object | Required | |
proposals[].votes[].account |
string | Required | |
proposals[].votes[].vote |
"for" / "against" / "abstain" | Required | |
proposals[].votes[].as_said |
string | Required | the DAO's own word for the vote: Approve, Reject, Remove, true, false |
proposals[].votes[].at |
choice | Required | when it was cast, where the DAO records it (Baal's event), or null (Sputnik) |
proposals[].votes[].at (variant 1) |
string | Required | |
proposals[].votes[].at (variant 2) |
null | Required | |
read_at |
string | Required |
Examples
proposals.v1.json
{
"petal": "proposals/v1",
"about": "near:mainnet:hos-root.sputnik-dao.near",
"source": {
"kind": "sputnik",
"contract": "near:mainnet:hos-root.sputnik-dao.near",
"ref": "get_policy, get_last_proposal_id and get_proposals {from_index, limit: 100} on hos-root.sputnik-dao.near at block 224080329 (final), via https://near.drpc.org",
"at": "2026-11-11T14:55:00Z"
},
"proposals": [
{
"id": "0",
"title": "Update Policy - Add New Members",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-08-06T14:20:48.632Z",
"closes_at": "2025-08-13T14:20:48.632Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:0",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "1",
"title": "Update Policy - Add New Members",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-08-16T14:53:07.346Z",
"closes_at": "2025-08-23T14:53:07.346Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:1",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "2",
"title": "Update Policy - Add New Members",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-08-17T06:41:40.771Z",
"closes_at": "2025-08-24T06:41:40.771Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:2",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "3",
"title": "Update Policy - Add New Members",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-10-09T14:51:21.705Z",
"closes_at": "2025-10-16T14:51:21.705Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:3",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "4",
"title": "Update Policy - Edit Members Permissions",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-10-09T14:52:48.178Z",
"closes_at": "2025-10-16T14:52:48.178Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:4",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "5",
"title": "Update Policy - Edit Members Permissions",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-10-09T14:53:10.076Z",
"closes_at": "2025-10-16T14:53:10.076Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:5",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "6",
"title": "Update Policy - Edit Members Permissions",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-10-09T14:53:38.974Z",
"closes_at": "2025-10-16T14:53:38.974Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:6",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "7",
"title": "Update policy - Voting Thresholds",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-10-09T14:57:19.446Z",
"closes_at": "2025-10-16T14:57:19.446Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:7",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "8",
"title": "Update Policy - Edit Members Permissions",
"kind": "ChangePolicy",
"proposer": "voteagora.near",
"at": "2025-10-09T19:08:17.805Z",
"closes_at": "2025-10-16T19:08:17.805Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:8",
"votes": [
{
"account": "e953bb69d1129e4da87b99739373884a0b57d5e64a65fdc868478f22e6c31eac",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "9",
"title": "Update policy - Voting Thresholds",
"kind": "ChangePolicy",
"proposer": "voteagora.near",
"at": "2025-10-09T19:42:46.358Z",
"closes_at": "2025-10-16T19:42:46.358Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:9",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "10",
"title": "Set lockup contract hash to EV4eXNuKVkcYisktcT4sk9XfFFRvcefy51Qs2hQkhnK1 and minimum lockup deposit to 2 NEAR",
"kind": "FunctionCall",
"proposer": "fastnear-hos.near",
"at": "2025-10-10T00:18:41.979Z",
"closes_at": "2025-10-17T00:18:41.979Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:10",
"votes": [
{
"account": "e953bb69d1129e4da87b99739373884a0b57d5e64a65fdc868478f22e6c31eac",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "11",
"title": "PROD: Set lockup contract hash to EV4eXNuKVkcYisktcT4sk9XfFFRvcefy51Qs2hQkhnK1 and minimum lockup deposit to 2 NEAR",
"kind": "FunctionCall",
"proposer": "fastnear-hos.near",
"at": "2025-10-10T16:07:30.657Z",
"closes_at": "2025-10-17T16:07:30.657Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:11",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "as.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "e953bb69d1129e4da87b99739373884a0b57d5e64a65fdc868478f22e6c31eac",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "12",
"title": "Update Policy - Add New Members",
"kind": "ChangePolicy",
"proposer": "lane.near",
"at": "2025-10-10T16:07:42.380Z",
"closes_at": "2025-10-17T16:07:42.380Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:12",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "13",
"title": "STAGING: Upgrade voting contract to 1.0.2",
"kind": "UpgradeRemote",
"proposer": "fastnear-hos.near",
"at": "2025-10-25T17:54:47.987Z",
"closes_at": "2025-11-01T17:54:47.987Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:13",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "14",
"title": "Update Policy - Only Admin group with 3/6 for each action",
"kind": "ChangePolicy",
"proposer": "fastnear-hos.near",
"at": "2025-11-01T16:41:15.745Z",
"closes_at": "2025-11-08T16:41:15.745Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:14",
"votes": [
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "fastnear-hos.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "15",
"title": "STAGING: Upgrade voting contract to 1.0.2",
"kind": "UpgradeRemote",
"proposer": "fastnear-hos.near",
"at": "2025-11-08T05:52:45.816Z",
"closes_at": "2025-11-15T05:52:45.816Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:15",
"votes": [
{
"account": "root.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "e953bb69d1129e4da87b99739373884a0b57d5e64a65fdc868478f22e6c31eac",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "16",
"title": "PRODUCTION: Upgrade voting contract to 1.0.2",
"kind": "UpgradeRemote",
"proposer": "lane.near",
"at": "2025-12-02T07:02:15.629Z",
"closes_at": "2025-12-09T07:02:15.629Z",
"decided_at": null,
"outcome": "expired",
"as_said": "Expired",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:16",
"votes": [
{
"account": "e953bb69d1129e4da87b99739373884a0b57d5e64a65fdc868478f22e6c31eac",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "fastnear-hos.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "17",
"title": "PRODUCTION: Upgrade voting contract to 1.0.2",
"kind": "UpgradeRemote",
"proposer": "lane.near",
"at": "2025-12-15T04:33:48.094Z",
"closes_at": "2025-12-22T04:33:48.094Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:17",
"votes": [
{
"account": "fastnear-hos.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "e953bb69d1129e4da87b99739373884a0b57d5e64a65fdc868478f22e6c31eac",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "18",
"title": "Remove lane.near from vote.dao guardians and reviewers",
"kind": "FunctionCall",
"proposer": "lane.near",
"at": "2026-02-09T07:08:00.476Z",
"closes_at": "2026-02-16T07:08:00.476Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:18",
"votes": [
{
"account": "fastnear-hos.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "19",
"title": "Remove lane.near from Admin role",
"kind": "RemoveMemberFromRole",
"proposer": "lane.near",
"at": "2026-02-09T07:13:31.091Z",
"closes_at": "2026-02-16T07:13:31.091Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:19",
"votes": [
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "lane.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "root.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "20",
"title": "Update Policy - Add New Members",
"kind": "ChangePolicy",
"proposer": "fastnear-hos.near",
"at": "2026-04-27T23:13:53.800Z",
"closes_at": "2026-05-04T23:13:53.800Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:20",
"votes": [
{
"account": "fastnear-hos.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "root.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "21",
"title": "PRODUCTION: Upgrade voting contract to 1.0.3",
"kind": "UpgradeRemote",
"proposer": "norfolks.near",
"at": "2026-05-04T12:32:03.094Z",
"closes_at": "2026-05-11T12:32:03.094Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:21",
"votes": [
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "fastnear-hos.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "22",
"title": "PRODUCTION: Update reviewers list on vote.dao",
"kind": "FunctionCall",
"proposer": "norfolks.near",
"at": "2026-05-06T09:55:57.774Z",
"closes_at": "2026-05-13T09:55:57.774Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:22",
"votes": [
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "fastnear-hos.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "23",
"title": "PRODUCTION: Upgrade voting contract to 1.1.0",
"kind": "UpgradeRemote",
"proposer": "norfolks.near",
"at": "2026-06-05T07:39:52.736Z",
"closes_at": "2026-06-12T07:39:52.736Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:23",
"votes": [
{
"account": "norfolks.near",
"vote": "against",
"as_said": "Reject",
"at": null
}
]
},
{
"id": "24",
"title": "PRODUCTION: Upgrade voting contract to 1.1.0",
"kind": "UpgradeRemote",
"proposer": "norfolks.near",
"at": "2026-06-05T08:20:51.264Z",
"closes_at": "2026-06-12T08:20:51.264Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:24",
"votes": [
{
"account": "root.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "25",
"title": "PRODUCTION: Upgrade venear contract to 1.1.0",
"kind": "UpgradeRemote",
"proposer": "norfolks.near",
"at": "2026-06-05T11:32:22.671Z",
"closes_at": "2026-06-12T11:32:22.671Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:25",
"votes": [
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "root.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "26",
"title": "Update Policy - Remove Member",
"kind": "ChangePolicy",
"proposer": "fastnear-hos.near",
"at": "2026-06-12T15:37:46.119Z",
"closes_at": "2026-06-19T15:37:46.119Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:26",
"votes": [
{
"account": "fastnear-hos.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "27",
"title": "PRODUCTION: Update DAO policy - replace fastnear-hos.near with anton-near-one.near",
"kind": "ChangePolicy",
"proposer": "norfolks.near",
"at": "2026-07-15T09:47:30.610Z",
"closes_at": "2026-07-22T09:47:30.610Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:27",
"votes": [
{
"account": "as.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "28",
"title": "PRODUCTION: Update council list on vote.dao",
"kind": "FunctionCall",
"proposer": "norfolks.near",
"at": "2026-07-15T10:00:32.707Z",
"closes_at": "2026-07-22T10:00:32.707Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:28",
"votes": [
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "as.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "29",
"title": "PRODUCTION: Upgrade venear contract to 1.1.1",
"kind": "UpgradeRemote",
"proposer": "norfolks.near",
"at": "2026-07-16T03:48:53.467Z",
"closes_at": "2026-07-23T03:48:53.467Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:29",
"votes": [
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "as.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "30",
"title": "Update council list - remove e953bb69d1129e4da87b99739373884a0b57d5e64a65fdc868478f22e6c31eac",
"kind": "FunctionCall",
"proposer": "norfolks.near",
"at": "2026-07-22T16:46:56.575Z",
"closes_at": "2026-07-29T16:46:56.575Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:30",
"votes": [
{
"account": "as.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "31",
"title": "PRODUCTION: Update DAO policy - remove e953bb69d1129e4da87b99739373884a0b57d5e64a65fdc868478f22e6c31eac",
"kind": "ChangePolicy",
"proposer": "norfolks.near",
"at": "2026-07-22T17:12:56.337Z",
"closes_at": "2026-07-29T17:12:56.337Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:31",
"votes": [
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "as.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "32",
"title": "Remove full-access key ed25519:CUW5uifsT9V5DVFKzMWqsSV1T2JekMvD1rJtzMxvBi5K from pool.near.",
"kind": "FunctionCall",
"proposer": "root.near",
"at": "2026-08-26T17:52:43.241Z",
"closes_at": "2026-09-02T17:52:43.241Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:32",
"votes": [
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "33",
"title": "Remove full-access key ed25519:2gtDEwdLuUBawzFLAnCS9gUso3Ph76bRzMpVrtb66f3J from sputnik-dao.near.",
"kind": "FunctionCall",
"proposer": "root.near",
"at": "2026-08-26T17:52:45.097Z",
"closes_at": "2026-09-02T17:52:45.097Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:33",
"votes": [
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "34",
"title": "Remove full-access key ed25519:9HQ2YfyEpowAcm5PPDEsTRGciXvtqEsBTbpkXKFZmu6h from stake.dao.",
"kind": "FunctionCall",
"proposer": "root.near",
"at": "2026-08-26T17:52:46.869Z",
"closes_at": "2026-09-02T17:52:46.869Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:34",
"votes": [
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "35",
"title": "Remove full-access key ed25519:BMn8XKBmZxScpCFYawvcT4pZkwtT38CE8SHHrzm4wYX8 from signer.",
"kind": "FunctionCall",
"proposer": "root.near",
"at": "2026-08-26T17:52:49.043Z",
"closes_at": "2026-09-02T17:52:49.043Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:35",
"votes": [
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "36",
"title": "Remove full-access key ed25519:BB5Kp7ycfX4DFTXNErtCGj2cRs5s6DKRXzTUrEgFswZv from registrar.",
"kind": "FunctionCall",
"proposer": "root.near",
"at": "2026-08-26T17:52:51.530Z",
"closes_at": "2026-09-02T17:52:51.530Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:36",
"votes": [
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "37",
"title": "Remove full-access key ed25519:4AMyVGwT2Cvkn6qj8ttWCbSLoYwv2YoH54JBKnyCVfTC from near.",
"kind": "FunctionCall",
"proposer": "root.near",
"at": "2026-08-26T17:52:53.330Z",
"closes_at": "2026-09-02T17:52:53.330Z",
"decided_at": null,
"outcome": "in progress",
"as_said": "InProgress",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:37",
"votes": [
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "38",
"title": "PRODUCTION: Approve TLA Cohort One batch on registrar",
"kind": "FunctionCall",
"proposer": "norfolks.near",
"at": "2026-09-17T14:54:27.738Z",
"closes_at": "2026-09-24T14:54:27.738Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:38",
"votes": [
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "39",
"title": "PRODUCTION: Upgrade opener contract on registrar to c33edd7",
"kind": "FunctionCall",
"proposer": "norfolks.near",
"at": "2026-10-01T04:23:08.007Z",
"closes_at": "2026-10-08T04:23:08.007Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:39",
"votes": [
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "40",
"title": "PRODUCTION: Upgrade voting contract to 1.1.2",
"kind": "UpgradeRemote",
"proposer": "norfolks.near",
"at": "2026-10-13T12:59:13.051Z",
"closes_at": "2026-10-20T12:59:13.051Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:40",
"votes": [
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "41",
"title": "PRODUCTION: Upgrade voting contract to 1.1.2",
"kind": "UpgradeRemote",
"proposer": "norfolks.near",
"at": "2026-10-14T09:35:31.537Z",
"closes_at": "2026-10-21T09:35:31.537Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:41",
"votes": [
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "42",
"title": "PRODUCTION: Rotate a recovery watcher and the recovery attestation key on rec.hos",
"kind": "FunctionCall",
"proposer": "norfolks.near",
"at": "2026-10-22T17:40:00.662Z",
"closes_at": "2026-10-29T17:40:00.662Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:42",
"votes": [
{
"account": "c65255255d689f74ae46b0a89f04bbaab94d3a51ab9dc4b79b1e9b61e7cf6816",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "43",
"title": "PRODUCTION: Close far, update name prices, register TLA Cohort Two and set up business TLAs on registry.hos. far: Ope…",
"kind": "FunctionCall",
"proposer": "norfolks.near",
"at": "2026-11-05T00:56:19.362Z",
"closes_at": "2026-11-12T00:56:19.362Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:43",
"votes": [
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "root.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
},
{
"id": "44",
"title": "PRODUCTION: Approve TLA Cohort Two batch on registrar",
"kind": "FunctionCall",
"proposer": "norfolks.near",
"at": "2026-11-05T01:02:22.767Z",
"closes_at": "2026-11-12T01:02:22.767Z",
"decided_at": null,
"outcome": "passed",
"as_said": "Approved",
"ref": "proposal:near:mainnet:hos-root.sputnik-dao.near:44",
"votes": [
{
"account": "anton-near-one.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "root.near",
"vote": "for",
"as_said": "Approve",
"at": null
},
{
"account": "norfolks.near",
"vote": "for",
"as_said": "Approve",
"at": null
}
]
}
],
"read_at": "2026-11-11T14:55:00Z"
}
Full schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:petal:schema:proposals:v1",
"title": "Petal proposals v1",
"description": "A DAO's proposals and how each account voted on each (board #93; Elco, 11 Nov: 'when a proposal is hovered little dots show up on the inside showing yes and no votes, absent votes show nothing'). One per map, named by the map's address, read from the DAO's own chain and read again to refresh. An account that didn't vote on a proposal isn't in its votes: absent, never a guess. Each vote keeps the DAO's own word for it.",
"type": "object",
"additionalProperties": false,
"required": [
"petal",
"about",
"source",
"proposals",
"read_at"
],
"properties": {
"petal": {
"const": "proposals/v1"
},
"about": {
"description": "the map, by its address (its card's id)",
"type": "string",
"minLength": 3
},
"source": {
"description": "where they were read: the DAO's kind, its contract, the calls, and when",
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"contract",
"ref",
"at"
],
"properties": {
"kind": {
"description": "the DAO's kind, in a word: sputnik, baal",
"type": "string",
"pattern": "^[a-z0-9_-]+$"
},
"contract": {
"description": "the DAO's contract: near:mainnet:<account>, eip155:<chain>:<address>",
"type": "string",
"minLength": 3
},
"ref": {
"description": "the calls or events they were read from",
"type": "string",
"minLength": 1
},
"at": {
"type": "string",
"format": "date-time"
}
}
},
"proposals": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"title",
"kind",
"proposer",
"at",
"closes_at",
"decided_at",
"outcome",
"as_said",
"ref",
"votes"
],
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"title": {
"description": "its title, from its own text: a Title line, or its first words",
"type": "string"
},
"kind": {
"description": "what it does, in the DAO's own word (Transfer, ChangePolicy, …), or null",
"type": [
"string",
"null"
]
},
"proposer": {
"type": [
"string",
"null"
]
},
"at": {
"description": "when it was submitted",
"type": "string",
"format": "date-time"
},
"closes_at": {
"description": "when its voting closes: by the DAO's policy (Sputnik's proposal period from submission), or as the DAO set it (Baal's vote end); null when unknown",
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"decided_at": {
"description": "when it was decided, where the DAO records it (Baal's processing); null where it doesn't (Sputnik)",
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"outcome": {
"enum": [
"passed",
"rejected",
"removed",
"expired",
"in progress",
"failed",
"moved",
"cancelled"
]
},
"as_said": {
"description": "the DAO's own word for its status",
"type": "string"
},
"ref": {
"description": "the proposal: proposal:<caip2>:<dao>:<id>",
"type": "string",
"minLength": 1
},
"votes": {
"description": "each account that voted, once; an account that didn't is absent",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"account",
"vote",
"as_said",
"at"
],
"properties": {
"account": {
"type": "string",
"minLength": 1
},
"vote": {
"enum": [
"for",
"against",
"abstain"
]
},
"as_said": {
"description": "the DAO's own word for the vote: Approve, Reject, Remove, true, false",
"type": "string"
},
"at": {
"description": "when it was cast, where the DAO records it (Baal's event), or null (Sputnik)",
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
}
}
}
}
}
}
},
"read_at": {
"type": "string",
"format": "date-time"
}
}
}