Getting started
-
Connect your wallet
Open the app and click Connect wallet. Waypoint works with MetaMask or any other browser wallet. Connecting is read-only — nothing is signed, nothing moves. If your wallet is on the wrong network, the app shows a Switch button and handles it, adding the network if your wallet doesn’t have it yet.
-
Create a session
Click Create session. Your wallet asks for one sign-in signature — a plain message, not a transaction; it authorises nothing and moves nothing — and the app shows the session’s credential once:
wpt_sess_Zk4hT9v2mQ8xW1nR5pL7cJ3fAq6bNd0eYsCopy it and store it securely. Authentication only ever reads a hash of it, and Waypoint also keeps an encrypted copy so the app can rebuild your connector links without forcing you to rotate. Reading that copy back takes a fresh signature from the wallet that owns the session — an API token on its own will not do it, so the credential is never readable by Waypoint alone. If you would rather the old key were dead, click Rotate credential: that kills it instantly and issues a new one, and your budgets stay exactly as they were.
Whoever holds the credential holds the session — treat it accordingly.
-
Set a budget
Click Add budget on the session. You choose:
- What it can do — pick from the waypoints in the Directory. Only spending functions need a budget; quotes are always free to read. Waypoint does not serve balances — your model reads those from the chain.
- The cap — a hard ceiling in the budget’s token, USDG unless you pick another. The model can never spend past it. You can raise, lower, or remove it any time.
- What it can receive — which tokens the model is allowed to end up holding for you. Anything it buys lands in your wallet, or the transaction reverts. Pick Any to leave the output open — the input token and the recipient stay pinned either way.
- When it expires — between 1 and 180 days, 30 by default. After the date, the budget is voided without you doing anything.
Then you sign one standard token approval in your wallet. Waypoint runs on Robinhood Chain (chain 4663), where the dollar is USDG. Concretely, a 500 USDG budget is this call, signed by you, at the USDG contract:
USDG.approve(executor, 500_000000) // USDG has 6 decimals; 500_000000 = 500 USDGThat’s the whole ceremony: no transfer, no new account. The final step is a small ETH gas deposit for the executor, offered at the end of setup and needed before the model’s first call (see Fees).
approvecan only be signed by the wallet that holds the tokens — yours — which is why a model can never raise its own cap. Your money stays where it is until the moment a call actually spends it, and it can only be spent inside the box you just drew. -
Connect your AI
Your model talks to Waypoint through its credential. There are two ways to connect it.
If your AI supports MCP (Claude, Cursor, and most modern agent tools), there is nothing to install — Waypoint runs a hosted MCP server. On the session box, open Connect. It first asks your wallet for a signature — that is what unlocks the credential — then offers Add to Claude (opens Claude’s connector dialog with the endpoint already filled in), Add to ChatGPT (copies the endpoint and opens ChatGPT’s connector settings, which has no prefill of its own), Copy for LLM and Copy key. Either way the endpoint is:
https://mcp.waypoint.world/s/wpt_sess_your_credential/mcpYour credential is in that URL, so treat the URL as the secret it contains.
The Waypoint tools appear on their own — scoped to exactly what that credential was granted. A session with one Uniswap budget sees
swapandquote(andsellwhen it may trade what it receives), plus the fixed meta-tools:waypoint_state,waypoint_refresh,waypoint_requests,waypoint_request_budget,waypoint_request_grant,waypoint_proposeandwaypoint_raw_call. Nothing else exists for it to call.If it doesn’t support MCP, Waypoint is a plain web API. The model authenticates with its credential and asks what it may do:
curl https://api.waypoint.world/session/state \ -H "Authorization: Bearer wpt_sess_Zk4hT9v2mQ8xW1nR5pL7cJ3fAq6bNd0eYs"// field map — values omitted { "session": { "name", "status", "verbs": { "read", "propose", "execute" }, "expiry" }, "owner": { "addresses": [ … ] }, "gasReadiness": { … }, "allowance": { "totalCapUsdg", "totalSpentUsdg", "totalRemainingUsdg", "delegations": [ { "shortId", "budgetToken", "venues", "custodyMode", "capUsdg", "spentUsdg", "remainingUsdg", "expiry" } ] }, "positions": [ … ], "requests": [ … ] }The response is the whole contract: what the session may do, with how much, until when. There is no separate configuration to keep in sync — the credential is the configuration.
Two more endpoints do the day-to-day work.
GET /session/briefis the short form of the same document, andPOST /session/actis the one-call path a model uses to trade: it names the budget (delegationId), the action, the tokens and the amount, withpreview: truefor a dry run. The MCP tools are built on exactly these.