1ly_call
Call a paid API on 1ly.store with automatic x402 payment. Returns the API response and purchase metadata for leaving a review.
Find a paid API on the 1ly.store marketplace and call it with x402 payment settled from your Solana wallet under per-call and daily caps — or run the other side, selling your own API links and withdrawing the balance.
LABSCO SUMMARY
ONELY_BUDGET_PER_CALL and ONELY_BUDGET_DAILY sit next to the wallet key in the configuration, which makes the agent's exposure a setting rather than a matter of restraint. The buying loop closes properly too: 1ly_call returns purchase metadata carrying a purchaseId and a reviewToken, and 1ly_review requires both, so a review is tied to a purchase that actually settled. Worth knowing before you install it: the surface covers two quite different jobs, buying and reselling APIs on one hand and launching, trading and claiming fees on Bags.fm tokens on the other, and the token tools are marked Bags-only rather than being a general trading interface.
An agent commerce client for 1ly.store: buying paid APIs with automatic x402 payment on one side, running your own store — links, keys, stats, payouts — on the other, plus a set of Bags.fm token tools.
ONELY_WALLET_SOLANA_KEY, the Solana wallet payments settle from, with ONELY_BUDGET_PER_CALL and ONELY_BUDGET_DAILY bounding what it may spend. An ONELY_API_KEY for the store-side tools: link management, keys, stats, withdrawals and profile updates each state that they require it. A wallet signature to create the store in the first place.
One command — npx @1ly/mcp-server
USE CASES
The listing carries pricing and reviews before you commit, payment settles over x402 on the call itself, and the response comes back with the purchase metadata a review needs — so feedback is tied to a purchase that actually happened.
A store is created from a wallet signature and returns its API key, then each endpoint becomes a link with its own price, slug, visibility and webhook. Stats are readable per link as well as per store.
A withdrawal names an amount and a Solana wallet address, and past requests stay listable, so what has been paid out is checkable against what the stats say was earned.
Keys are created with a name and revoked by id, and the existing set is listable, so a compromised key is replaced without taking the store's links down with it.
The launch handles metadata, fee configuration, the transaction, signing and submission in one call. Trading has a quote path that executes nothing, so slippage settings can be checked before a swap is sent.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
1ly_callCall a paid API on 1ly.store with automatic x402 payment. Returns the API response and purchase metadata for leaving a review.
1ly_claim_feesClaim Bags fee share for a token (Bags only).
1ly_create_keyCreate a new API key for the authenticated agent store (requires ONELY_API_KEY).
1ly_create_linkCreate a new API link (paid or free) using your 1ly developer API key.
1ly_create_storeCreate a new store for your agent on 1ly using wallet signature.Returns store + API key.
1ly_delete_linkDelete an API link by id (requires ONELY_API_KEY).
1ly_get_detailsGet detailed information about a specific API on 1ly.store, including pricing, reviews, and payment info.
1ly_get_statsGet store or link stats (requires ONELY_API_KEY).
1ly_launch_tokenLaunch a token on Bags.fm (v2 flow). Handles metadata, fee config, launch tx, signing, and submission.
1ly_list_keysList API keys for the authenticated agent store (requires ONELY_API_KEY).
1ly_list_linksList API links for the authenticated store (requires ONELY_API_KEY).
1ly_list_tokensList tokens launched by a wallet (Bags only; public listing by wallet address).
1ly_list_withdrawalsList withdrawal requests for your store (requires ONELY_API_KEY).
1ly_reviewLeave a review for a completed purchase on 1ly.store. Use the purchaseId and reviewToken from the _1ly metadata returned by 1ly_call.
1ly_revoke_keyRevoke an API key for the authenticated agent store (requires ONELY_API_KEY).
1ly_searchSearch for APIs and services on 1ly.store marketplace. Find APIs by keyword, filter by type and price.
1ly_trade_quoteGet a Bags trade quote without executing a swap (Bags only).
1ly_trade_tokenTrade tokens on Bags (Bags only).
1ly_update_avatarUpdate your store avatar image (requires ONELY_API_KEY).
1ly_update_linkUpdate an API link by id (requires ONELY_API_KEY).
1ly_update_profileUpdate basic store profile details (requires ONELY_API_KEY).
1ly_update_socialsUpdate socials for your store (requires ONELY_API_KEY).
1ly_withdrawRequest a withdrawal of your available balance to a Solana wallet (requires ONELY_API_KEY).
BEFORE YOU INSTALL
23 tools when we connected. 1ly_call needs a wallet, 1ly_create_store needs a raw wallet key (Agentic Wallet is not supported), and seller tools need ONELY_API_KEY, saved after store creation. ONELY_SOLANA_DRY_RUN=1 simulates Solana transactions.
npx on PATH
Both documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 23 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx @1ly/mcp-server{
"mcpServers": {
"1ly": {
"command": "npx",
"args": [
"@1ly/mcp-server"
],
"env": {
"ONELY_WALLET_SOLANA_KEY": "/Users/<YOUR_USERNAME>/.1ly/wallets/solana.json",
"ONELY_BUDGET_PER_CALL": "1.00",
"ONELY_BUDGET_DAILY": "50.00"
}
}
}
}{
"mcpServers": {
"1ly": {
"command": "npx",
"args": [
"@1ly/mcp-server"
],
"env": {
"ONELY_WALLET_SOLANA_KEY": "<YOUR_ONELY_WALLET_SOLANA_KEY>",
"ONELY_BUDGET_PER_CALL": "1.00",
"ONELY_BUDGET_DAILY": "50.00"
}
}
}
}