> For the complete documentation index, see [llms.txt](https://docs.radfi.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.radfi.co/dev/api-endpoints/satflow.md).

# Satflow

## POST /api/satflow/build

> Build transaction — LIST, CANCEL, BUY

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"CreateSatflowTxDto":{"type":"object","properties":{"type":{"type":"string","enum":["satflow-list","satflow-cancel","satflow-buy"]},"userAddress":{"type":"string"},"inscriptionId":{"type":"string"},"priceInSats":{"type":"string"},"orderIds":{"type":"array","items":{"type":"string"}},"orderType":{"type":"string"},"inscriptionIds":{"description":"Inscription IDs to buy","type":"array","items":{"type":"string"}}},"required":["type","userAddress"]}}},"paths":{"/api/satflow/build":{"post":{"operationId":"SatflowController_buildTransaction","summary":"Build transaction — LIST, CANCEL, BUY","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSatflowTxDto"}}}},"responses":{"201":{"description":""}},"tags":["satflow"]}}}}
```

## POST /api/satflow/sign

> Submit signed transaction to Satflow

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"SignSatflowTxDto":{"type":"object","properties":{"type":{"type":"string","enum":["satflow-list","satflow-cancel","satflow-buy"]},"userAddress":{"type":"string"},"signedPsbt":{"type":"string"},"intentId":{"type":"string"},"signedChallenge":{"type":"string"},"signedSecureListingPsbts":{"type":"array","items":{"type":"string"}},"signedPaymentPrepPsbts":{"type":"array","items":{"type":"string"}},"signedPurchasePsbts":{"type":"array","items":{"type":"string"}},"signedTransferPsbt":{"type":"string"},"feeRate":{"type":"number"}},"required":["type","userAddress","intentId"]}}},"paths":{"/api/satflow/sign":{"post":{"operationId":"SatflowController_signAndSubmit","summary":"Submit signed transaction to Satflow","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignSatflowTxDto"}}}},"responses":{"201":{"description":""}},"tags":["satflow"]}}}}
```

## POST /api/satflow/buy/revert

> Revert a pending BUY intent — rolls back UMS state for any sub-txids registered so far

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"RevertSatflowBuyDto":{"type":"object","properties":{"inscriptionId":{"type":"string","description":"Inscription ID of the BUY intent to revert (FE tracks this, not the server-generated txId)"},"userAddress":{"type":"string"}},"required":["inscriptionId","userAddress"]}}},"paths":{"/api/satflow/buy/revert":{"post":{"operationId":"SatflowController_revertBuy","summary":"Revert a pending BUY intent — rolls back UMS state for any sub-txids registered so far","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevertSatflowBuyDto"}}}},"responses":{"201":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/item

> Get inscription item details from Satflow

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/item":{"get":{"operationId":"SatflowController_getItem","summary":"Get inscription item details from Satflow","parameters":[{"name":"inscriptionId","required":false,"in":"query","schema":{"type":"string"}},{"name":"inscriptionNumber","required":false,"in":"query","schema":{"type":"string"}},{"name":"metadata","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"bid","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"listing","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"exclude_ord","required":false,"in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/orders/floor

> Get floor orders for collections from Satflow

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/orders/floor":{"get":{"operationId":"SatflowController_getOrdersFloor","summary":"Get floor orders for collections from Satflow","parameters":[{"name":"collectionIds","required":false,"in":"query","description":"Single value (?collectionIds=a), CSV (?collectionIds=a,b), or repeat-key (?collectionIds[]=a&collectionIds[]=b)","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/collection-stats

> Get collection statistics from Satflow

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/collection-stats":{"get":{"operationId":"SatflowController_getCollectionStats","summary":"Get collection statistics from Satflow","parameters":[{"name":"collectionId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/collection-stats/floors

> Get floor prices for multiple ordinals collections from Satflow

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/collection-stats/floors":{"get":{"operationId":"SatflowController_getCollectionStatsFloors","summary":"Get floor prices for multiple ordinals collections from Satflow","parameters":[{"name":"slugs","required":true,"in":"query","description":"Single value (?slugs=a), CSV (?slugs=a,b), or repeat-key (?slugs[]=a&slugs[]=b)","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/listings

> Get activity listings from Satflow

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/listings":{"get":{"operationId":"SatflowController_getListings","summary":"Get activity listings from Satflow","parameters":[{"name":"collectionSlug","required":false,"in":"query","schema":{"type":"string"}},{"name":"group","required":false,"in":"query","schema":{"enum":["collection","time"],"type":"string"}},{"name":"active","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"page","required":false,"in":"query","schema":{"type":"number"}},{"name":"pageSize","required":false,"in":"query","schema":{"type":"number"}},{"name":"external","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"timeRange","required":false,"in":"query","schema":{"enum":["24h","7d","30d"],"type":"string"}},{"name":"includeOnlyCollectionItems","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"sortBy","required":false,"in":"query","schema":{"enum":["createdAt","fillCompletedAt","fillPendingAt","price","unitPrice"],"type":"string"}},{"name":"sortDirection","required":false,"in":"query","schema":{"enum":["asc","desc"],"type":"string"}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/wallet-contents

> Get wallet contents from Satflow — ordinals and runes with listing/bid status

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/wallet-contents":{"get":{"operationId":"SatflowController_getWalletContents","summary":"Get wallet contents from Satflow — ordinals and runes with listing/bid status","parameters":[{"name":"address","required":true,"in":"query","schema":{"type":"string"}},{"name":"itemType","required":false,"in":"query","schema":{"enum":["inscription","rune","all"],"type":"string"}},{"name":"collection","required":false,"in":"query","schema":{"type":"string"}},{"name":"listedOnly","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"bidsOnly","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/collections/trending

> Get trending collections from Satflow memflow

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/collections/trending":{"get":{"operationId":"SatflowController_getTrendingCollections","summary":"Get trending collections from Satflow memflow","parameters":[{"name":"sortBy","required":false,"in":"query","schema":{"type":"string"}},{"name":"sortDirection","required":false,"in":"query","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"offset","required":false,"in":"query","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/collection/inscriptions

> Get inscription details for a collection (paginated, max 10 per page)

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/collection/inscriptions":{"get":{"operationId":"SatflowController_getCollectionInscriptions","summary":"Get inscription details for a collection (paginated, max 10 per page)","parameters":[{"name":"collection_id","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number, 1-indexed (default 1)","schema":{"type":"number"}},{"name":"pageSize","required":false,"in":"query","description":"Items per page, max 10 — BE fans out 1 /item call per id (default 10)","schema":{"type":"number"}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/collection/listings

> Get active listings for a collection (paginated, sorted by price)

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/collection/listings":{"get":{"operationId":"SatflowController_getCollectionListings","summary":"Get active listings for a collection (paginated, sorted by price)","parameters":[{"name":"collectionId","required":true,"in":"query","description":"Satflow collection slug (e.g. \"nodemonkes\")","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number, 1-indexed (default 1)","schema":{"type":"number"}},{"name":"pageSize","required":false,"in":"query","description":"Items per page (1–20, default 20) — listings are enriched from a metadata cache; only uncached inscriptions trigger a /item call","schema":{"type":"number"}},{"name":"sortDirection","required":false,"in":"query","description":"Sort by listing price (default asc)","schema":{"enum":["asc","desc"],"type":"string"}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```

## GET /api/satflow/status/{intentId}

> Get intent status by intent ID (Mongo \_id)

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"servers":[{"url":"https://api.radfi.co","description":"Production"}],"paths":{"/api/satflow/status/{intentId}":{"get":{"operationId":"SatflowController_getStatus","summary":"Get intent status by intent ID (Mongo _id)","parameters":[{"name":"intentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["satflow"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.radfi.co/dev/api-endpoints/satflow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
