$0 offline (recorded feed + a sandbox wallet); mainnet swaps only the signer edge.
See the whole thing in one run
1
User sets up the agentic wallet — the only manual steps
The user’s entire on-chain surface is three acts: fund a wallet, set it up once, and
authorize one policy (
spend ≤ $50 for {subscription, settlement}). Nothing else is on
the user — the agent does the rest.2
Gecko comprehends the paywalled TxLINE API
One line turns TxLINE into 18 first-call-correct tools. Auth-gated odds tools stay hidden
until a session can satisfy them, so the agent can’t mis-call what it can’t see. No docs, no
hand-written client.
3
Agent subscribes to TxLINE — the wallet signs within the policy
The agent builds the on-chain subscribe transaction; the wallet signs it within the
authorized policy. Gecko never touches a key.
4
Agent monitors the odds and flags a sharp move
Successive odds snapshots run through the detector; a shift past the threshold is the trading
signal:
fixture 42 · Home 45.6% → 54.8% (+9.2pp) ⚡.5
Agent settles the market on TxLINE's Merkle proof — the wallet signs
Every TxLINE call is risk-scored by the security gateway. The agent maps the 3-stage
Merkle proof onto the on-chain
validate_stat instruction and the wallet signs the settle —
the program never decides the outcome, the proof does.The user did 3 acts (fund · set up · authorize). The agent comprehended a paywalled API,
subscribed, caught the move, and settled a market — the wallet signing only within the policy,
Gecko never holding a key or a dollar.
The agentic wallet in the middle
1 · Fund
The user funds the wallet with the budgeted USDC. Funding is always the user’s side.
2 · Set up
One-time wallet setup (social login on a Privy/Phantom embedded wallet, or a
pay --sandbox
ephemeral wallet for the $0 demo).3 · Authorize
One policy: a spend cap + an allow-list of purposes. The wallet signs only within it —
an over-cap request is refused.
WalletSeam — an
injected boundary, exactly like Gecko’s Session seam — so the wallet is pluggable and Gecko is
never the signer.
- Mainnet hands: Privy (Solana instruction-level policy enforced in-enclave at signing) or Phantom (embedded wallet + social login, MCP-native). OKX OnchainOS is a valid alternate.
- The rail: pay.sh sits on top as the x402 payment rail — the wallet signs, the rail settles. (pay.sh is a rail, not a wallet.)
- Deferred: MagicBlock — its session keys only bind if the counterparty program integrated them, so they don’t provide bounded authority for an arbitrary third-party API.
Break it into parts
Each piece runs on its own,$0 and offline:
The example also bundles curated Solana subagents (
defi-engineer, solana-architect,
solana-qa-engineer) and a Surfpool MCP config, so a forked project can build the on-chain
settlement side. See the example’s README on
GitHub.
Going live
Recorded mode needs nothing. For live TxLINE data the user completes an on-chain subscription (fund a wallet + sign — their action); the agent drives the guest → subscribe → activate handshake and Gecko seals the two tokens in the OS keychain. Same tool-building code path — only the transport edge changes. See Access & auth.Fork it for your own API
gecko add <your-api> and your agent is calling it correctly, first try — then integrate a
policy-gated wallet the same way.