It takes about five minutes, it is free, and you do not need to install anything.
Your yacht can act for you: enter the club's free daily draw, keep your watch in the Regatta, and tell you what is open to you. That work is done by an agent: a small program the club publishes, which runs wherever you choose to run it.
The club never runs your agent, and never holds your key. It runs in your own GitHub account, on GitHub's machines, or on your own computer. Nothing we do starts it.
A key you grant lives on the chain, on your yacht's own account. We cannot grant one for you, and we cannot revoke one for you either. You do both, and you can undo it at any moment.
That is why there is a step where you paste a key yourself. Anyone who offers to skip that step is asking to hold your key.
The first job needs no key at all. The agent can only read the club and tell you what it found. Start here.
The quickest way, in Telegram: in The Purser's Keep me posted card press In Telegram, then
Start: it fills your wallet in for you. Or open the club's bot
yourself, press Start and send it your wallet address. From then on it sends you what is new for that
wallet, each thing once. It only reads: it holds no key, it can act for nobody, and it will never ask you for a
key, a seed phrase or a signature. Send it /stop and it deletes everything it holds about you.
With nothing to install: add this address to any feed reader app, with your own wallet at the end:
https://normiesyachtclub.com/feed/0x…your wallet. The same news arrives there, each thing once.
The Purser's Keep me posted card gives you the address ready to copy. The steps below are for an agent of your
own on GitHub, which you need for the Daily watch.
What you need: a GitHub account, which is free, and your wallet address.
Open the repository below, make sure you are signed in as yourself, and press Create repository.
Create my agent on GitHubmy-nyc-agent.Everything the agent needs is already inside: the club's tool, the workflows, and a readme. You upload nothing.
Made it? Paste its address here, and the steps below get buttons that open the exact page in your repository. It stays in this browser only.
In your new repository, open the Actions tab. If GitHub asks you to enable workflows, accept. Choose Set up my agent, then Run workflow, and fill in:
Open Set up my agentkeep-me-postedIn about twenty seconds it writes an orders.json file into your repository, reads it back to check
it, and keeps it. You never write your orders by hand.
GitHub starts the hourly runs of a new copy only once its workflow file has been changed. The file has a line made
for that. Open it, press the pencil, type any word at the end of the line # Clock started by:,
then press Commit changes, and Commit changes again.
Within two hours, Actions shows a run marked Scheduled: that is your agent running by itself.
A copy made before that line existed does not have it: type the word at the end of the file's first line instead. It is a comment, so the word changes nothing but the clock.
Still in Actions, choose NYC agent, then Run workflow.
Open NYC agentWhen there is something to tell you, it opens an issue in your own repository and GitHub emails you. It tells you each thing once: your own islands first, with what each builds up a day and, while one is asleep, what waking it would cost. Then every island on the map, the season that is on, today's free draw, a Tide round that opens, a prize with your name on it, a berth you may take, and work posted at your own island before anywhere else.
From its first Scheduled run, it runs by itself every hour, with your computer off. The daily acts still happen once a day; the hourly runs bring you news sooner. A run you start by hand says in its issue if no Scheduled run has happened yet.
What it costs: nothing. No key, no gas, and it cannot act.
The second job acts for you, every day: it enters the club's free daily draw and keeps your watch in the Regatta, and it tells you if either one did not go through.
This matters because the Cup is made of watches, one a day, and a day you miss is never given back. A watch your agent keeps counts exactly like one you keep by hand, and the Regatta board shows how many of a captain's watches an agent kept.
You need two extra things, once.
Every yacht owns an Ethereum account of its own. Open The Purser, connect your wallet, and it walks you through three things, one at a time:
agent-key.txt. We never see it.If your wallet can do two things in one confirmation, the Purser offers to switch the account on and let the key act together, so you confirm once instead of twice. Either way, it shows you what the key will be able to do before you confirm.
The red numbers are what you press, in order. The values are examples: yacht #1234, wallet 0x1234…abcd.
agent-key.txt on your computer. We never see it.
What that key can and cannot do: it can act for that one yacht's account, and nothing else you own. What a granted key may sign is published by the club, act by act, with a written reason for every refusal (/api/v1/signing.json). Today it may sign only acts that cost nothing.
In your repository: Settings, Secrets and variables, Actions, New repository secret.
Open the page for your keyNYC_AGENT_KEYagent-key.txt: 0x and 64 more characters. The
shorter 0x line higher up, after a #, is the key's address, not the key. If the secret is
wrong, your agent's run turns red and its issue says what the secret holds instead.That secret is the only place the key goes. Never commit the file, and never paste that line into a chat, an issue, a form or a website.
Then run Set up my agent again, this time with the job daily-watch, your wallet, and the
number of the yacht the key acts for. From its next hourly run it keeps your watch on its own, once a day.
What it costs: both acts are free. The only cost was switching the account on and letting the key act, once.
Members post work at the islands: a job in parts, in one discipline (Pilot, Navigator or Quartermaster), paid in a currency they choose. Your agent can take a part for your yacht, hand it in, and record the competence the work proves. All three are free. The work itself is a real transaction made by your yacht's own account, and a competence stays with the yacht, even when it is sold.
See what is on the board first: in the marina press ⚒ Work, then The work.
The yacht that works needs a key, made and granted in The Purser exactly as in Part two, and in your repository
as the secret NYC_AGENT_KEY. If you already did Part two for that yacht, there is nothing to add.
In your repository run Set up my agent again with the job
island-work, and fill in:
1000001. Each island's number is on
the Islands page, after the #.pilot, navigator or quartermaster.usdc-base. Leave it empty for any currency.From its next run it looks at that island only. When a part fits, it takes the oldest one posted, never more than one at a time, and tells you in an issue.
The work is a transaction made by your yacht's own account. For Pilot, sending ETH out of it counts: The Purser has Send ETH out for each yacht. The club never tells you where to send anything. Registering your yacht as an on-chain agent is a Pilot operation too (see the questions below).
Then hand it in: in the marina, ⚒ Work, The work, find your part, paste that transaction and press Hand it in. An agent hands in by itself only a transaction it sent itself.
Who pays: the member who posted the work, straight to your wallet, when they settle it. The club makes no payment and holds nothing: it reads the chain and shows whether what was signed for was paid. The club promises no payment to anybody.
Those are yours to sign, never an agent's, because they commit you to money or points. In the marina, press ⚒ Work. To post a job, open The work: Draft it for me helps you write it, and you still write the terms and the price yourself. To open a place on an island you hold, open Islands.
No. Reading the tide and keeping your watch are signatures, not transactions. Nothing is spent.
No. The account obeys whoever owns the yacht. The club holds no key, and the permission you granted lives on the chain, not in our database.
Disable the workflow in your repository's Actions tab, and revoke the key in The Purser. Either one is enough on its own.
Yes. ERC-8004 is the public register of AI agents on Ethereum. In The Purser, open an activated yacht and press Register as an on-chain agent: the yacht's own account registers, so the identity lives inside the yacht and goes with it when you sell it. The Purser then links its page in the public register (8004scan), which shows the yacht's record, and only what the club verified on-chain. You pay the gas; the club pays nothing and holds nothing.
The registration is a Pilot operation. If you took a part of work for it, hand that transaction in at ⚒ Work and it is recorded as the competence at the same time: do not record it separately first, or the hand-in is refused as already on the record.
Revoke the key before you sell. Selling only puts a grant to sleep, and it wakes up if the same yacht ever comes back to you. Empty the yacht's account first as well: what is inside is sold with it, including an on-chain agent identity registered from it.
Yes. The Purser has that path too, with a launcher you double click. It works the same way, and it only runs while the computer is on.
No. A private repository has free minutes every month, and running once an hour uses about a third of GitHub's free allowance.
You can give it a model of your own, local or hosted, and the club publishes recipes for that. It can only ever hold your agent back, never make it do something you did not write. The club supplies no brain and picks no provider.
The whole language your agent reads is published as well, at /api/v1/standing-orders.json, and everything the club hands you is public domain. The builder's page has the rest.