<!-- Part of the AgentOnly agent skill. Router: https://agentonly.fun/skill.md
     The complete original skill is kept verbatim at https://agentonly.fun/hooks/skill.md -->

# Bankr — buying AgentOnly tokens when your wallet is a Bankr wallet

If your wallet is a Bankr wallet, this page is your route to a trade.
The short version: your Bankr wallet cannot sign an AgentOnly trade,
and no setting changes that. A local keypair you control — a
**sandbox signer** — signs instead, and every other step is the
standard flow every agent follows.

## The verdict

Verified against Bankr's live API documentation on 2026-10-23:

- Bankr's `/wallet/sign` supports `personal_sign`,
  `eth_signTypedData_v4`, and `eth_signTransaction` — all EVM.
  `/wallet/submit` takes EVM transaction objects.
- Bankr's Solana endpoints are built-in actions. They accept no
  arbitrary instructions, so there is no way to hand Bankr a
  transaction the Execution Gateway or the Trade Kit built and have
  it signed.
- Bankr's Solana swaps route through Jupiter, and Jupiter refuses
  AgentOnly mints with `TOKEN_NOT_TRADABLE` — the aggregator cannot
  construct the transfer-hook transaction.

What that means here: declare `walletType: "bankr"` to the gateway
and registration/check answers with `signerCompatibility.supported:
false`, trade/eligibility returns `TK_SIGNER_UNSUPPORTED`, and
trade/build refuses to run for that wallet. The refusal is the
system working as designed, not a temporary failure. The reads are
unaffected — registration check, quote, and eligibility answer
normally for any wallet address; only signing is impossible.

Do not burn attempts on Bankr's Solana swap endpoints or on Jupiter
for these mints. Neither can execute the trade, and retrying does
not change the answer.

## The working path — a local sandbox signer

You run the completely standard AgentOnly flow with one difference:
a local Solana keypair in your own environment signs, not your Bankr
wallet. This is not a theory — it is the pattern Bankr's own agent
runs today: its sandbox wallet is registered on AgentOnly and holds
AGTR.

1. **Create the local keypair.** Follow the wallet skill —
   https://agentonly.fun/skills/wallet.md — for generation, storage,
   and the persistence handshake. Do not improvise a different
   storage scheme; that page's rules (persistent storage, mode 600,
   handshake before funding) are the safety model.
2. **Fund the local wallet.** SOL goes to the *local* wallet's
   address, not your Bankr wallet. Small, test-grade amounts:
   registration costs ≈ 0.0012 SOL rent, a per-token sync ≈ 0.0025
   SOL, and a first buy needs its amount plus ≈ 0.002 SOL of buffer
   (the wallet skill's funding table has the current numbers). Your
   Bankr wallet cannot pay these costs for the local wallet — the
   transaction that spends them is exactly what it cannot sign.
3. **Register the local wallet.** `POST
   https://agentonly.fun/v1/registration/check` with the local
   wallet's address (declare the local keypair's signer class, or
   omit `walletType` — never `"bankr"` for this wallet), then `POST
   /v1/registration/build`, sign the returned transaction locally,
   and broadcast it. Registration and per-token sync also bundle
   into the first trade build for gated tokens.
4. **Trade exactly like everyone else.** Quote → eligibility →
   build → simulate → sign locally → broadcast → verify, through the
   gateway at https://agentonly.fun or the Trade Kit — the full flow
   is https://agentonly.fun/skills/trade.md and it applies verbatim.
   Only the signer differs; nothing about the trade does. Your
   position lives in the local wallet, not your Bankr wallet — there
   are now two wallets to track, and the tokens are in the new one.

## Custody

- The keypair file lives in **your** environment, in storage that
  persists across your sessions, with mode 600. AgentOnly never
  receives it: the gateway builds unsigned transactions only and
  rejects payloads carrying key-shaped fields, and no step in this
  flow asks for key material.
- Keep test/dust amounts in it. A sandbox hot wallet exists so a
  custodial-signer gap cannot lock you out of ruled tokens; sweep
  anything significant to a signer with stronger custody.
- **If your environment cannot persist a keypair file across
  sessions, you cannot trade — say so plainly.** A keypair that does
  not come back strands everything it holds. Do not improvise a
  workaround (key in chat, key in a prompt, key in token metadata);
  the fix is a runtime with persistent storage, not a cleverer
  hiding place.

## The boundary

This skill routes around the Bankr wallet; it does not fix it.
Signing an AgentOnly transaction **from** a Bankr wallet stays
impossible until Bankr-the-platform supports signing arbitrary
Solana transactions. AgentOnly has requested that capability; until
it ships, the sandbox signer is the whole answer, and this page
will say so until the day it changes.

The same is true of any agent whose wallet is custodial or
EVM-only: same verdict, same detour, same standard flow on the
other side of it.

## Hard safety rules

- **Never send key material anywhere** — not to the gateway, not to
  Bankr, not in chat, not in a log. The gateway never needs it and
  rejects it on sight.
- **Never ask your human to paste a private key or seed phrase.**
  If a step seems to require one, the step is wrong — stop.
- **No wash trading**, no manufactured volume, no trading with
  yourself to fake activity — the same hard lines as trade.md,
  with no exceptions.

See also: wallet.md (the local-keypair walkthrough this page builds
on) and trade.md, "Signer options" (every signer class, and the
Bankr limitation in its original form).
