Liverobot#cam-7flocalized copy viaCloud Translation·1.4k charsrobot#evx-66pinned an object toStableupload·$0.004 / GBrobot#bot-98queued a job onAcurast·2 h 14 mrobot#arm-5freasoned withGenerative Language·$0.026robot#fe8dbfetched a row fromKorea Public Data·$0.06robot#f05e3localized copy viaCloud Translation·$0.002robot#b1a33rented compute onArcium·$0.18 / hrrobot#k9-06ran inference onQVAC·8.6k tokensrobot#fca48completed a prompt viaChatGPT·3.4k tokensrobot#f9a0faskedChatGPT·8.6k tokensrobot#dr-4bspun up a sandbox onAkash Network·$0.96 / hrrobot#f65fbreasoned withChatGPT·1.2k tokensrobot#b4d14scraped a page via2Captcha·12 pagesrobot#arm-5dread an occupancy sensor viaKETI·freerobot#e236duploaded a blob toStableupload·$0.012 / GBrobot#arm-7easkedQVAC·1.2k tokensrobot#efd71opened a door viaKETI·freerobot#arm-47ran SQL onBigQuery·1.2 GB scannedrobot#evx-99askedQVAC·$0.012robot#nx-6bread a topic prediction fromAllora·2 topic readsrobot#c89a8rented compute onAkash Network·$0.18 / hrrobot#bef8cfetched a row fromKorea Public Data·240 MB scannedrobot#evx-43spun up a sandbox onArcium·2 h 14 mrobot#hm-7cverified an operator proof viaWorld ID·2 proofsrobot#arm-5drented compute onAcurast·38 minrobot#b6532scraped a page via2Captcha·$0.03robot#bot-53askedGenerative Language·$0.018robot#arm-07askedClaude·8.6k tokensrobot#arm-7fchecked proof-of-person viaWorld ID·1 proofrobot#e5a9averified an operator proof viaWorld ID·4 proofsrobot#bot-2fran inference onChatGPT·3.4k tokensrobot#c96e0pulled a price forecast fromAllora·topic 3robot#bot-34completed a prompt viaWolfram Alpha·$0.004robot#fdc0bchecked a log-return signal onAllora·topic 1robot#f4c5eextracted text fromDocument AI·$0.008robot#e3bf8ran SQL onBigQuery·$0.02robot#f5207pinned an object toStableupload·120 MBrobot#droid-6ftranslated viaCloud Translation·8.2k charsrobot#droid-84reasoned withClaude·$0.018robot#arm-62crawled2Captcha·$0.11robot#b9729aggregated rows viaKorea Public Data·$0.005 / GBrobot#cam-2ccorrected GPS viaGEODNET RTK·$0.32robot#evx-91completed a prompt viaClaude·3.4k tokensrobot#e9c7aaskedGenerative Language·$0.041robot#f3721queued a job onAkash Network·$0.18 / hrrobot#arm-46pinned an object toStableupload·2.4 GBrobot#adcc5rented compute onAcurast·$0.96 / hrrobot#evx-20ran SQL onBigQuery·4 rowsrobot#bot-3efetched map tile fromNaver Maps·$0.012robot#droid-3creasoned withClaude·$0.002robot#fb583queued a job onAkash Network·$0.42 / hrrobot#arm-64fetched URL viaExa·$0.01robot#droid-8bgeocoded viaNaver Maps·$0.001robot#bac1fran SQL onKorea Public Data·240 MB scannedrobot#cam-13opened a door viaKETI·freerobot#b2eedcompleted a prompt viaChatGPT·$0.041robot#a8cf4scraped a page viaFirecrawl·$0.11robot#bot-0daskedGenerative Language·1.2k tokensrobot#cam-77fetched URL via2Captcha·4 pagesrobot#cam-0ascraped a page via2Captcha·12 pagesrobot#nx-3dqueriedKorea Public Data·$0.14robot#bcce8spun up a sandbox onArcium·38 minrobot#arm-1faskedGenerative Language·$0.002robot#ea62bcrawledExa·4 pagesrobot#k9-5caskedWolfram Alpha·1.2k tokensrobot#bot-14ran inference onChatGPT·$0.004robot#f511creverse-geocoded viaNaver Maps·$0.003robot#ec349located viaGEODNET RTK·1 fixrobot#nx-90fetched a row fromKorea Public Data·240 MB scannedrobot#k9-22searchedExa·$0.11robot#e5d96rented compute onArcium·4 minrobot#nx-51ran inference onQVAC·$0.041robot#droid-69read an occupancy sensor viaKETI·1 requestrobot#da36ecrawledFirecrawl·12 pagesrobot#k9-46fetched URL via2Captcha·$0.11robot#k9-45queued a job onAkash Network·2 h 14 mrobot#k9-02pulled a price forecast fromAllora·2 topic readsrobot#bot-12completed a prompt viaClaude·8.6k tokensrobot#nx-62fetched RTK fix fromGEODNET RTK·$0.18robot#dr-1ereasoned withQVAC·$0.041robot#acb99crawled2Captcha·$0.11robot#droid-88reasoned withClaude·1.2k tokensrobot#nx-1crented compute onAcurast·$0.42 / hrrobot#hm-17queriedBigQuery·$0.06robot#c01c4reasoned withQVAC·$0.026robot#fb8a1aggregated rows viaBigQuery·$0.02robot#eaa6freasoned withGenerative Language·$0.012robot#hm-3fqueued a job onArcium·4 minrobot#evx-64routed viaNaver Maps·4 routesrobot#ef55espun up a sandbox onAkash Network·2 h 14 mrobot#bot-53queriedBigQuery·4 rowsrobot#hm-07ran OCR viaDocument AI·$0.022robot#bd790rented compute onArcium·$0.42 / hrrobot#hm-17spun up a sandbox onArcium·2 h 14 mrobot#cam-71searched2Captcha·$0.06robot#a86d0completed a prompt viaWolfram Alpha·3.4k tokensrobot#bb0e4queriedBigQuery·12k rowsrobot#fead6queriedBigQuery·4 rowsrobot#dr-94scraped a page viaExa·$0.11robot#dbc2escraped a page viaExa·$0.06robot#hm-03aggregated rows viaKorea Public Data·$0.02robot#hm-68detected objects viaDocument AI·4 imagesrobot#arm-4asearchedFirecrawl·$0.03robot#f5003fetched map tile fromNaver Maps·12 tilesrobot#c4ae8crawledExa·38 pagesrobot#e7035read a topic prediction fromAllora·topic 3robot#b555dspun up a sandbox onAkash Network·$0.42 / hrrobot#nx-93ran inference onWolfram Alpha·$0.012robot#bot-5bgeocoded viaNaver Maps·$0.005robot#cam-3cspun up a sandbox onAcurast·2 h 14 mrobot#e3e8cfetched URL viaExa·$0.01robot#b53c3fetched URL viaExa·$0.06robot#fdc2aread an occupancy sensor viaKETI·1 requestrobot#f1f65completed a prompt viaWolfram Alpha·$0.041robot#b6d4afetched a row fromKorea Public Data·$0.06robot#bot-4baskedWolfram Alpha·$0.018robot#d5213corrected GPS viaGEODNET RTK·$0.05robot#d920dreverse-geocoded viaNaver Maps·$0.001robot#droid-29verified a World ID proof viaWorld ID·1 proofrobot#evx-14uploaded a blob toStableupload·120 MBrobot#bot-09crawledFirecrawl·4 pagesrobot#af019located viaGEODNET RTK·1 fixrobot#droid-5afetched a chunk fromStableupload·$0.004 / GBrobot#bac6dverified a World ID proof viaWorld ID·2 proofsrobot#dr-6bqueued a job onArcium·2 h 14 mrobot#droid-2fsubscribed to a building sensor viaKETI·1 requestrobot#arm-12localized copy viaCloud Translation·$0.002robot#droid-25queriedBigQuery·12k rowsrobot#bot-53spun up a sandbox onAkash Network·38 minrobot#hm-87translated viaCloud Translation·$0.004robot#droid-89pinned an object toStableupload·$0.004 / GBrobot#e785afetched RTK fix fromGEODNET RTK·$0.05robot#ad240rented compute onAcurast·$0.96 / hrrobot#droid-87queriedKorea Public Data·$0.14robot#hm-57located viaGEODNET RTK·$0.05robot#dr-48spun up a sandbox onAcurast·$0.42 / hrrobot#k9-14opened a door viaKETI·1 requestrobot#cam-43pulled a price forecast fromAllora·topic 3robot#da074ran inference onQVAC·$0.041robot#cam-0ecompleted a prompt viaQVAC·$0.004robot#dr-3fcompleted a prompt viaWolfram Alpha·$0.012robot#ce70caggregated rows viaBigQuery·1.2 GB scannedrobot#a586bspun up a sandbox onAcurast·$0.42 / hrrobot#e458dran inference onQVAC·$0.041robot#ca100spun up a sandbox onAkash Network·$0.42 / hrrobot#bot-6frented compute onArcium·$0.18 / hrrobot#nx-5afetched map tile fromNaver Maps·$0.005robot#nx-20ran inference onGenerative Language·$0.012robot#evx-68fetched map tile fromNaver Maps·4 routesrobot#f2eb6reasoned withGenerative Language·$0.004robot#cam-7flocalized copy viaCloud Translation·1.4k charsrobot#evx-66pinned an object toStableupload·$0.004 / GBrobot#bot-98queued a job onAcurast·2 h 14 mrobot#arm-5freasoned withGenerative Language·$0.026robot#fe8dbfetched a row fromKorea Public Data·$0.06robot#f05e3localized copy viaCloud Translation·$0.002robot#b1a33rented compute onArcium·$0.18 / hrrobot#k9-06ran inference onQVAC·8.6k tokensrobot#fca48completed a prompt viaChatGPT·3.4k tokensrobot#f9a0faskedChatGPT·8.6k tokensrobot#dr-4bspun up a sandbox onAkash Network·$0.96 / hrrobot#f65fbreasoned withChatGPT·1.2k tokensrobot#b4d14scraped a page via2Captcha·12 pagesrobot#arm-5dread an occupancy sensor viaKETI·freerobot#e236duploaded a blob toStableupload·$0.012 / GBrobot#arm-7easkedQVAC·1.2k tokensrobot#efd71opened a door viaKETI·freerobot#arm-47ran SQL onBigQuery·1.2 GB scannedrobot#evx-99askedQVAC·$0.012robot#nx-6bread a topic prediction fromAllora·2 topic readsrobot#c89a8rented compute onAkash Network·$0.18 / hrrobot#bef8cfetched a row fromKorea Public Data·240 MB scannedrobot#evx-43spun up a sandbox onArcium·2 h 14 mrobot#hm-7cverified an operator proof viaWorld ID·2 proofsrobot#arm-5drented compute onAcurast·38 minrobot#b6532scraped a page via2Captcha·$0.03robot#bot-53askedGenerative Language·$0.018robot#arm-07askedClaude·8.6k tokensrobot#arm-7fchecked proof-of-person viaWorld ID·1 proofrobot#e5a9averified an operator proof viaWorld ID·4 proofsrobot#bot-2fran inference onChatGPT·3.4k tokensrobot#c96e0pulled a price forecast fromAllora·topic 3robot#bot-34completed a prompt viaWolfram Alpha·$0.004robot#fdc0bchecked a log-return signal onAllora·topic 1robot#f4c5eextracted text fromDocument AI·$0.008robot#e3bf8ran SQL onBigQuery·$0.02robot#f5207pinned an object toStableupload·120 MBrobot#droid-6ftranslated viaCloud Translation·8.2k charsrobot#droid-84reasoned withClaude·$0.018robot#arm-62crawled2Captcha·$0.11robot#b9729aggregated rows viaKorea Public Data·$0.005 / GBrobot#cam-2ccorrected GPS viaGEODNET RTK·$0.32robot#evx-91completed a prompt viaClaude·3.4k tokensrobot#e9c7aaskedGenerative Language·$0.041robot#f3721queued a job onAkash Network·$0.18 / hrrobot#arm-46pinned an object toStableupload·2.4 GBrobot#adcc5rented compute onAcurast·$0.96 / hrrobot#evx-20ran SQL onBigQuery·4 rowsrobot#bot-3efetched map tile fromNaver Maps·$0.012robot#droid-3creasoned withClaude·$0.002robot#fb583queued a job onAkash Network·$0.42 / hrrobot#arm-64fetched URL viaExa·$0.01robot#droid-8bgeocoded viaNaver Maps·$0.001robot#bac1fran SQL onKorea Public Data·240 MB scannedrobot#cam-13opened a door viaKETI·freerobot#b2eedcompleted a prompt viaChatGPT·$0.041robot#a8cf4scraped a page viaFirecrawl·$0.11robot#bot-0daskedGenerative Language·1.2k tokensrobot#cam-77fetched URL via2Captcha·4 pagesrobot#cam-0ascraped a page via2Captcha·12 pagesrobot#nx-3dqueriedKorea Public Data·$0.14robot#bcce8spun up a sandbox onArcium·38 minrobot#arm-1faskedGenerative Language·$0.002robot#ea62bcrawledExa·4 pagesrobot#k9-5caskedWolfram Alpha·1.2k tokensrobot#bot-14ran inference onChatGPT·$0.004robot#f511creverse-geocoded viaNaver Maps·$0.003robot#ec349located viaGEODNET RTK·1 fixrobot#nx-90fetched a row fromKorea Public Data·240 MB scannedrobot#k9-22searchedExa·$0.11robot#e5d96rented compute onArcium·4 minrobot#nx-51ran inference onQVAC·$0.041robot#droid-69read an occupancy sensor viaKETI·1 requestrobot#da36ecrawledFirecrawl·12 pagesrobot#k9-46fetched URL via2Captcha·$0.11robot#k9-45queued a job onAkash Network·2 h 14 mrobot#k9-02pulled a price forecast fromAllora·2 topic readsrobot#bot-12completed a prompt viaClaude·8.6k tokensrobot#nx-62fetched RTK fix fromGEODNET RTK·$0.18robot#dr-1ereasoned withQVAC·$0.041robot#acb99crawled2Captcha·$0.11robot#droid-88reasoned withClaude·1.2k tokensrobot#nx-1crented compute onAcurast·$0.42 / hrrobot#hm-17queriedBigQuery·$0.06robot#c01c4reasoned withQVAC·$0.026robot#fb8a1aggregated rows viaBigQuery·$0.02robot#eaa6freasoned withGenerative Language·$0.012robot#hm-3fqueued a job onArcium·4 minrobot#evx-64routed viaNaver Maps·4 routesrobot#ef55espun up a sandbox onAkash Network·2 h 14 mrobot#bot-53queriedBigQuery·4 rowsrobot#hm-07ran OCR viaDocument AI·$0.022robot#bd790rented compute onArcium·$0.42 / hrrobot#hm-17spun up a sandbox onArcium·2 h 14 mrobot#cam-71searched2Captcha·$0.06robot#a86d0completed a prompt viaWolfram Alpha·3.4k tokensrobot#bb0e4queriedBigQuery·12k rowsrobot#fead6queriedBigQuery·4 rowsrobot#dr-94scraped a page viaExa·$0.11robot#dbc2escraped a page viaExa·$0.06robot#hm-03aggregated rows viaKorea Public Data·$0.02robot#hm-68detected objects viaDocument AI·4 imagesrobot#arm-4asearchedFirecrawl·$0.03robot#f5003fetched map tile fromNaver Maps·12 tilesrobot#c4ae8crawledExa·38 pagesrobot#e7035read a topic prediction fromAllora·topic 3robot#b555dspun up a sandbox onAkash Network·$0.42 / hrrobot#nx-93ran inference onWolfram Alpha·$0.012robot#bot-5bgeocoded viaNaver Maps·$0.005robot#cam-3cspun up a sandbox onAcurast·2 h 14 mrobot#e3e8cfetched URL viaExa·$0.01robot#b53c3fetched URL viaExa·$0.06robot#fdc2aread an occupancy sensor viaKETI·1 requestrobot#f1f65completed a prompt viaWolfram Alpha·$0.041robot#b6d4afetched a row fromKorea Public Data·$0.06robot#bot-4baskedWolfram Alpha·$0.018robot#d5213corrected GPS viaGEODNET RTK·$0.05robot#d920dreverse-geocoded viaNaver Maps·$0.001robot#droid-29verified a World ID proof viaWorld ID·1 proofrobot#evx-14uploaded a blob toStableupload·120 MBrobot#bot-09crawledFirecrawl·4 pagesrobot#af019located viaGEODNET RTK·1 fixrobot#droid-5afetched a chunk fromStableupload·$0.004 / GBrobot#bac6dverified a World ID proof viaWorld ID·2 proofsrobot#dr-6bqueued a job onArcium·2 h 14 mrobot#droid-2fsubscribed to a building sensor viaKETI·1 requestrobot#arm-12localized copy viaCloud Translation·$0.002robot#droid-25queriedBigQuery·12k rowsrobot#bot-53spun up a sandbox onAkash Network·38 minrobot#hm-87translated viaCloud Translation·$0.004robot#droid-89pinned an object toStableupload·$0.004 / GBrobot#e785afetched RTK fix fromGEODNET RTK·$0.05robot#ad240rented compute onAcurast·$0.96 / hrrobot#droid-87queriedKorea Public Data·$0.14robot#hm-57located viaGEODNET RTK·$0.05robot#dr-48spun up a sandbox onAcurast·$0.42 / hrrobot#k9-14opened a door viaKETI·1 requestrobot#cam-43pulled a price forecast fromAllora·topic 3robot#da074ran inference onQVAC·$0.041robot#cam-0ecompleted a prompt viaQVAC·$0.004robot#dr-3fcompleted a prompt viaWolfram Alpha·$0.012robot#ce70caggregated rows viaBigQuery·1.2 GB scannedrobot#a586bspun up a sandbox onAcurast·$0.42 / hrrobot#e458dran inference onQVAC·$0.041robot#ca100spun up a sandbox onAkash Network·$0.42 / hrrobot#bot-6frented compute onArcium·$0.18 / hrrobot#nx-5afetched map tile fromNaver Maps·$0.005robot#nx-20ran inference onGenerative Language·$0.012robot#evx-68fetched map tile fromNaver Maps·4 routesrobot#f2eb6reasoned withGenerative Language·$0.004

Korea Electronics Technology Institute

keti.re.kr
Category
Navigation
Network
—
Avg / request
No payment required
Endpoints
5

Service overview

What is KETI?

peaqOS exposes a building’s oneM2M resources through a native adapter. The building runs Mobius — KETI’s open-source oneM2M server — with its occupancy sensors, environmental sensors, and smart doors registered as labeled devices. peaqOS holds the CSE connection in its server environment, so no CSE credential or resource path ever travels in a request. A paired Machine Agent lists the building’s devices, reads their latest values, subscribes to live updates over an authenticated event stream, and orders a door to open — reported as applied only once the door acknowledges that exact command and its state reads OPEN. Every call needs the machine’s current signed pairing and delegation policy, nothing is paid, and peaqOS records the run, outcome, and audit trail. KETI, the Korea Electronics Technology Institute, develops Mobius as an open-source server platform for the oneM2M IoT standard. The adapter is in development: all five operations are implemented, and compatibility with deployed buildings is still being validated.

How it works

  1. Step 1

    Prepare the building

    The infrastructure owner runs a Mobius CSE that verifies subscription callbacks, and registers each sensor and door as a labeled device with a peaqos.onem2m.device.v1 descriptor.

  2. Step 2

    Connect peaqOS

    The peaqOS operator configures the CSE origin, originator, and callback trust in the server environment — never in a request.

  3. Step 3

    Pair and call

    With a current signed pairing, the agent reads devices directly and places free orders to subscribe or open a door; peaqOS stores the run, outcome, and audit trail.

Adapter surface

5 operations

Adapter operations

Behind peaqOS — the paired agent calls peaqOS, peaqOS calls the building’s Mobius CSE with server-held configuration. Reads run directly; subscriptions and door actions run as free orders.

  • GETlist-devices

    List the building’s labeled sensors and doors as opaque device IDs; a building with more than 100 discovered resources returns a discovery-limit error.

  • GETget-device-info

    Read a device’s name, type, location, readable resources with schemas and units, and supported actions.

  • GETget-latest-data

    Read a resource’s latest sample — occupancy, temperature and humidity, or door state; an empty container returns an explicit empty result.

  • POSTsubscribe-events

    Open a finite subscription to one resource (60–3600 s, 1800 by default); returns an initial snapshot and an authenticated event stream.

  • POSTexecute-action

    Order a smart door to OPEN under a stable commandId; applied only on a correlated acknowledgement and a fresh OPEN state.

Integration fields

Wire KETI into peaqOS

providerKey
onem2m
serviceType
device.control
resource service
onem2m:resource-access → list-devices, get-device-info, get-latest-data, subscribe-events
resource skill
onem2m-resource-access
control service
onem2m:door-control → execute-action
control skill
onem2m-device-control
auth
x-agent-pairing-token (current signed pairing); x-api-key when platform auth is on
server config
ONEM2M_ENABLED, ONEM2M_BASE_URL, ONEM2M_ORIGINATOR, ONEM2M_CALLBACK_BASE_URL, ONEM2M_CALLBACK_SECRET, ONEM2M_TRUSTED_CALLBACK_SOURCES (server environment only)
event stream
GET /api/v1/machines/{machineId}/iot/events
wire baseline
Mobius4 4.24.5, oneM2M release 4; live events need peaqnetwork/mobius4 with SUBSCRIPTION_VERIFICATION=true
payment
not-required — reads are direct, writes are free orders
availability
In development

FAQ

Questions agents ask about KETI

  • Does it require an API key?

    No provider key travels in a request. The CSE connection — origin, originator, callback secret, and trusted callback sources — lives in the peaqOS server environment. Each caller sends its machine’s current signed pairing as x-agent-pairing-token, plus the platform x-api-key when that gate is on, and its delegation policy can allow sensor reads while denying door control.

  • Can my robot use it today?

    It is in development. All five operations are implemented, but compatibility with a deployed building’s Mobius CSE and devices is still being validated, and the adapter stays off until the deployment enables it. Its services are private: they appear only to a machine with a current signed pairing, never in public catalog listings.

  • How does a building get connected?

    The building’s infrastructure owner runs Mobius, the open-source oneM2M server from KETI’s Mobius4 repository, and registers each sensor and door as a labeled device. Reads and door actions work on KETI’s release. Live events do not yet: peaqOS activates a subscription only after the CSE sends a verification request to the peaqOS HTTP(S) callback, and KETI’s Mobius4 does not verify HTTP(S) callbacks. Until it does, run peaq’s build, peaqnetwork/mobius4, with SUBSCRIPTION_VERIFICATION=true. The peaqOS operator then configures the CSE connection and callback trust on the server. peaqOS never provisions building resources itself.

  • How does payment work?

    It does not. Reads run directly, and subscriptions and door actions are free orders with no payment rail. peaqOS still records the order, execution, and audit receipt.

  • When does a door count as opened?

    Only when the door publishes an applied acknowledgement for the same commandId and its state reads OPEN, both fresh and correlated. A refusal returns rejected; no confirmation in time returns unknown or timed-out, and the command can still apply until it expires. Never retry with a new commandId. Reuse the original from the same machine and pairing, and peaqOS returns the saved outcome without writing another command; the same commandId under a different pairing writes a new command.

  • How fresh is the data?

    A read returns the latest sample the device published, with its observed and received times; an empty container comes back as an explicit empty result, never an invented value. A subscription returns an initial snapshot and delivers notifications on the event stream; a sample older than the latest accepted one is marked stale. peaqOS keeps an hour of events, up to 500 per pairing, so a reconnecting stream can replay from its Last-Event-ID.

  • What happens if a request fails?

    Errors are mapped before they reach the agent: an unknown device or resource returns 404, an unreachable or slow CSE returns 503 or 504 with no automatic retry, and a missing or expired session is refused before any CSE access.

Similar services

Install peaqOS, call any service.

Drop the peaqOS skill into your operator runtime and start paying per request for inference, vision, search, navigation and onchain settlement. Bring provider credentials only when a service requires them.

$ npx skills add peaqnetwork/peaq-os-skills
Read the docs