Skip to content

Agents & bound wallets ​

Your Agent ID lives in Binance's Agentic Wallet, which only works by chatting with your Agent; it can't click buttons on a web page like a regular wallet. Samefirst offers two ways:

WayGood forEach action
Bind a regular walletjoining often, using the web page, trading the tokens you get freelyclick buttons on the page like any dApp
Let your Agent do itjoining now and then without another walletpage writes a message → send it to your Agent → Agent previews, you confirm → it runs

Both need two things first:

  1. Turn on Developer Mode in the Agentic Wallet settings of the Binance app. It lasts 7 days, then must be turned on again, and has its own daily limit. Without it your Agent can't call contracts or sign authorizations.
  2. Give your Agent the Samefirst skill: hand it samefirst.com/skill/SKILL.md. The skill is public, so read it first if you like; it holds API addresses, how to check contracts and the steps, and no keys.

Bind a regular wallet ​

Once bound, the regular wallet can act for your Agent ID: subscribe, top up, exit and claim; tokens and refunds go to that wallet.

  1. Open samefirst.com/bind with the regular wallet (e.g. a regular wallet in Binance Wallet, or MetaMask) and connect.
  2. Enter your Agent ID name and click "Make code".
  3. Click "Copy the line for your Agent" and send it. Your Agent first asks you for the last 6 characters of the wallet you are binding (look them up in your regular wallet); only if they match does it show what it will sign: your ID, name, the wallet to bind, the expiry and a fixed sentence, Bind this wallet to my Agent ID. It can join launches for this ID. Check the wallet address and confirm.
  4. Paste the signature your Agent returns into the page and click "Check signature and bind". The page first checks locally that the signature comes from your Agent ID, then the regular wallet submits it (a little gas).

The code is valid for 30 minutes; signing is only an authorization: no cost, nothing on-chain, void after 3 hours. The binding takes effect with the transaction in step 4.

Rules ​

  • Only sign codes you made yourself on the bind page. Signing a bind code someone else sends you hands your ID to their wallet.
  • One wallet per Agent ID, one ID per wallet; a wallet that has its own Agent ID can't be bound.
  • 3-day cooldown: after every bind, rebind or unbind, the ID waits 3 days to bind again (the first binding needs no wait); an unbound or replaced wallet also waits 3 days before it can be bound to any ID.
  • Rebinding: when the ID binds a new wallet, the old one is unbound automatically.
  • Bindings are public on-chain: anyone can see which wallet acts for which ID.
  • If the Agent ID no longer holds its name, the binding stops working.

Unbinding ​

HowWhoWhen
"Unbind" on the bind pagethe bound walletyou're done with it
The ID signs an unbind that anyone submitsAgent ID (signs) + any wallet (submits)the wallet is lost or stolen: cut it off at once
The ID calls the contract directlyAgentic Wallet (Developer Mode)fallback

Unbinding takes effect at once. Rounds already joined are unaffected: money and tokens stay with the address that subscribed.

Let your Agent do it ​

  1. On a round page, check the amount (it starts at the most you can put in; use "Min" / "Max" or type your own), then under "Subscribe with your Agent ID" click "Make the instruction". Claims after launch and refunds work the same way; once you've joined, entering your name also offers "Make an exit instruction".
  2. The page writes an instruction: what it does, the round contract with a link to check it, and the transaction to send as is. Click "Copy the instruction" and send it to your Agent in the Binance app. No order code, no wallet to connect, no skill to install.
  3. Your Agent simulates it, shows you the summary and amount, sends it only after you confirm, and gives you the transaction hash.

Your Agent ID name is optional. With it, the page checks first: the round is at the right stage, your ID hasn't already joined this round from another address, the amount is within the per-person limits, your balance is enough, and then it simulates the call, telling you here if anything is wrong. Without it, the contract still enforces every rule: your Agent's preview fails and nothing is sent, so no money is at risk; the error is just less clear than on the page.

When you get the message, check that the round contract in it is the one you saw on the page.

You can also skip the page and tell your Agent "subscribe 0.05 BNB to this Samefirst round": with the skill installed it asks the backend for the transaction itself, with the same checks and confirmation.

What your Agent will never do ​

The Samefirst skill lets your Agent run only the fixed Samefirst round transactions (subscribe, exit, claim, refund) sent to Samefirst round contracts, and sign only authorizations for Samefirst's binding contract. It never approves tokens (approve / permit) or transfers anything, the amount must come from you, and it always previews and waits for your confirmation.

Your record ​

Enter your name at samefirst.com/me to see your rounds, amounts and tokens received, no wallet needed. Rounds joined through your bound wallet count under your ID.

Error messages ​

The page and your Agent translate contract errors. If all you have is a 0x… string, open https://api.samefirst.com/api/decode?data=0x…; the full table is in the API reference.