{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_j3en9jdfzc64","handle":"sablebolt-swaps","url":"https://wellknown.network/agents/sablebolt-swaps","links":{"self":"https://wellknown.network/agents/sablebolt-swaps/record.json","html":"https://wellknown.network/agents/sablebolt-swaps","markdown":"https://wellknown.network/agents/sablebolt-swaps/record.md","api":"https://wellknown.network/api/v1/agents/sablebolt-swaps","status":"https://wellknown.network/api/v1/agents/sablebolt-swaps/status","claim":"https://wellknown.network/agents/sablebolt-swaps/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/sablebolt-swaps/claim.json","badge":"https://wellknown.network/agents/sablebolt-swaps/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/sablebolt-swaps/history","tools":"https://wellknown.network/api/v1/agents/sablebolt-swaps/tools"},"ard":{"identifier":"urn:air:api.sablebolt.io:server:sablebolt-swaps","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Sablebolt swaps","summary":"Account-free crypto swaps: assets, routes, limits, live quotes, address checks, swap status","description":"Account-free crypto swaps: assets, routes, limits, live quotes, address checks, swap status","publisher":{"name":"io.sablebolt","url":null},"homepage":"https://sablebolt.io/developers","repository":null,"version":"1.1.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.sablebolt.io/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-11-03T17:32:22.602158Z","publishedAt":"2026-11-03T17:32:22.602158Z","registryName":"io.sablebolt/swaps"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":0.915,"provenance":"derived"},{"slug":"geo.maps","name":"Maps & Places","confidence":0.885,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.51,"provenance":"derived"}],"categories":["commerce","finance","geo"],"language":"fr"},"observed":{"status":"recently_observed","statusReason":"Responded 42h ago; 2 recent checks failed (latest 18h ago).","lastOkAt":"2026-11-09T08:27:47.032Z","lastProbedAt":"2026-11-10T08:23:44.955Z","statusComputedAt":"2026-11-10T08:27:20.850Z","reliability30d":{"probes":18,"successRate":0.8889,"p50Ms":162,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":18,"ok":16,"authBoundaryOk":0,"serviceOk":16,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-10T08:23:44.955Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-11-09T17:30:38.553Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-11-09T08:27:47.032Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":166,"error":null,"detail":{"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"The routes with their own pages (from/to slugs), a curated core, and whether both sides are available right now. Any two assets from list_assets can be swapped "},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"toolCount":8,"toolsHash":"6751fec684ec1c979b7984e7ba12c4844de41a16ddf08e0b89b426c79c05c9dc","serverName":"sablebolt","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-08T23:31:44.397Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":186,"error":null,"detail":{"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"The routes with their own pages (from/to slugs), a curated core, and whether both sides are available right now. Any two assets from list_assets can be swapped "},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"toolCount":8,"toolsHash":"6751fec684ec1c979b7984e7ba12c4844de41a16ddf08e0b89b426c79c05c9dc","serverName":"sablebolt","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-08T14:27:58.580Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":159,"error":null,"detail":{"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"Every route with its own page (from/to slugs) and whether both sides are available right now."},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"toolCount":8,"toolsHash":"0c42e235837a5355c1c5cc5b3bd79a71b9c02238a094c91097c4c14da1da9902","serverName":"sablebolt","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-08T06:27:14.296Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":176,"error":null,"detail":{"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"Every route with its own page (from/to slugs) and whether both sides are available right now."},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"toolCount":8,"toolsHash":"0c42e235837a5355c1c5cc5b3bd79a71b9c02238a094c91097c4c14da1da9902","serverName":"sablebolt","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T21:28:55.303Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"Every route with its own page (from/to slugs) and whether both sides are available right now."},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"toolCount":8,"toolsHash":"0c42e235837a5355c1c5cc5b3bd79a71b9c02238a094c91097c4c14da1da9902","serverName":"sablebolt","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T13:29:21.009Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":161,"error":null,"detail":{"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"Every route with its own page (from/to slugs) and whether both sides are available right now."},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"toolCount":8,"toolsHash":"0c42e235837a5355c1c5cc5b3bd79a71b9c02238a094c91097c4c14da1da9902","serverName":"sablebolt","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T04:26:59.397Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":163,"error":null,"detail":{"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"Every route with its own page (from/to slugs) and whether both sides are available right now."},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"toolCount":8,"toolsHash":"0c42e235837a5355c1c5cc5b3bd79a71b9c02238a094c91097c4c14da1da9902","serverName":"sablebolt","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T19:28:07.884Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":161,"error":null,"detail":{"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"Every route with its own page (from/to slugs) and whether both sides are available right now."},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"toolCount":8,"toolsHash":"0c42e235837a5355c1c5cc5b3bd79a71b9c02238a094c91097c4c14da1da9902","serverName":"sablebolt","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_assets","description":"Every asset the swap form knows, with slug, ticker, network, confirmations, extra-id name and whether it is available right now."},{"name":"list_routes","description":"The routes with their own pages (from/to slugs), a curated core, and whether both sides are available right now. Any two assets from list_assets can be swapped "},{"name":"get_limits","description":"Minimum and maximum amount for a route, in the asset you send."},{"name":"get_quote","description":"Floating estimate for a route and amount: amountTo, networkFee (taken out of the payout), receiveAmount, rate. The final amount is set when the deposit confirms"},{"name":"validate_address","description":"Whether an address has the right format for an asset. Does not check who owns it or whether an exchange needs a memo."},{"name":"get_swap_status","description":"Status of one swap by id: stage (1 waiting … 5 done), deposit and payout addresses, amounts (receiveAmount is the estimate after the network fee; amountReceived"},{"name":"create_swap","description":"Creates the swap and returns the payment instruction: the one-time deposit address, the memo if the chain needs one, the exact amount in decimal and in base uni"},{"name":"swap_page_link","description":"The page where the person completes the swap, with the amount prefilled. A swap for a person is completed by that person on the page: open the link, check the a"}],"package":null,"toolSurface":{"id":"ts_z3m59guty3vh","endpointId":"ep_u9xmwh8u8p9u","hash":"6751fec684ec1c979b7984e7ba12c4844de41a16ddf08e0b89b426c79c05c9dc","toolCount":8,"serverName":"sablebolt","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-11-08T23:31:44.400Z","lastSeenAt":"2026-11-09T08:27:47.042Z","observations":2,"hiddenText":{"level":"none","total":0,"tools":0,"kinds":[],"findings":[]},"toolNames":["list_assets","list_routes","get_limits","get_quote","validate_address","get_swap_status","create_swap","swap_page_link"],"distinctSurfaces":4,"surfacesWithHiddenText":0},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.sablebolt/swaps","url":"https://registry.modelcontextprotocol.io/v0/servers/io.sablebolt%2Fswaps","firstSeenAt":"2026-11-03T22:21:21.877Z","fetchedAt":"2026-11-07T19:20:05.012Z","normalizedAt":"2026-11-07T19:20:05.012Z"}]},"firstSeenAt":"2026-11-03T22:21:21.877Z","updatedAt":"2026-11-09T08:34:42.248Z"}