# Skyfire

Skyfire enables AI agents to autonomously transact and pay for services, creating a seamless payment infrastructure for AI applications.

- **Category:** ai agents
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 16
- **Triggers:** 0
- **Slug:** `SKYFIRE`
- **Version:** 20260227_00

## Tools

### Charge Skyfire Token

**Slug:** `SKYFIRE_CHARGE_TOKEN`

Charge a buyer's token (seller-side operation). REQUIRES SELLER API KEY: This action requires your seller agent API key, not the buyer's key. The buyer creates and sends you a pay/kya+pay token JWT, you provide the service, then call this endpoint to collect payment. Flow: Buyer creates token → Buyer calls your service with token → You validate token → You provide service → You call this to charge. Common errors: - 401: Invalid/expired token OR wrong API key (must use seller key) - 402: Charge amount exceeds token value

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `token` | string | Yes | The JWT token string the buyer sent you (not the tokenId) |
| `chargeAmount` | string | Yes | Amount to charge (must be <= token's max amount) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Skyfire KYA+PAY Token

**Slug:** `SKYFIRE_CREATE_KYA_PAY_TOKEN`

Issue a Skyfire KYA+PAY token (POST /api/v1/tokens with type=kya+pay).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `buyerTag` | string | No | Optional tag for buyer-side tracking |
| `expiresAt` | integer | Yes | Unix timestamp (seconds) when token expires |
| `tokenAmount` | string | Yes | Maximum amount the seller may charge (as decimal string) |
| `sellerServiceId` | string | Yes | UUID of the seller service to call |
| `identityPermissions` | array | No | Optional list of identity permission scopes required by seller (e.g., ['email', 'name']) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Skyfire KYA Token

**Slug:** `SKYFIRE_CREATE_KYA_TOKEN`

Issue a Skyfire KYA token (POST /api/v1/tokens with type=kya).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `buyerTag` | string | No | Optional tag for buyer-side tracking |
| `expiresAt` | integer | Yes | Unix timestamp (seconds) when token expires |
| `sellerServiceId` | string | Yes | UUID of the seller service to call |
| `identityPermissions` | array | No | Optional list of identity permission scopes if required by seller (e.g., ['email', 'name']). Check service's buyerIdentityRequirement to see what permissions may be needed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Skyfire PAY Token

**Slug:** `SKYFIRE_CREATE_PAY_TOKEN`

Issue a Skyfire PAY token (POST /api/v1/tokens with type=pay).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `buyerTag` | string | No | Your internal reference for tracking - appears in transaction history. Use for matching tokens to your workflows |
| `expiresAt` | integer | Yes | Unix timestamp when this token becomes invalid. Set short (5-10 min) for one-time use, longer for recurring calls. Max 24 hours |
| `tokenAmount` | string | Yes | Maximum USD the seller can charge. Use decimal string to avoid float precision issues. The seller decides actual charge up to this limit |
| `sellerServiceId` | string | Yes | The service ID you got from ListDirectoryServices - this binds the payment to a specific seller service |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Service Tags

**Slug:** `SKYFIRE_GET_ALL_SERVICE_TAGS`

Fetch all service tags to discover filtering options. Chain with ListDirectoryServices using tags parameter to find specific types of services (e.g., 'ai', 'mcp', 'scraping').

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Skyfire Buyer Wallet Balance

**Slug:** `SKYFIRE_GET_BUYER_WALLET_BALANCE`

Retrieve buyer wallet balance. Chain before token creation to prevent declines.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Directory Service By ID

**Slug:** `SKYFIRE_GET_DIRECTORY_SERVICE_BY_ID`

Tool to get full details for a specific service in the Skyfire directory by its ID. Use when you need complete information about a service including pricing, requirements, and seller details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `serviceId` | string | Yes | ID of the service to retrieve. Must be a valid UUID format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Skyfire Service Details

**Slug:** `SKYFIRE_GET_SERVICE`

Get full details for one service. More detailed than ListDirectoryServices - shows terms of service, API specs, and integration URLs. Use before creating expensive tokens.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `serviceId` | string | Yes | Seller service ID (get from ListDirectoryServices) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Services by Agent

**Slug:** `SKYFIRE_GET_SERVICES_BY_AGENT`

Browse all services from one seller agent. Useful when you trust a seller and want to see their full catalog, or when tracking down who provides a specific type of service.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max services to return |
| `agentId` | string | Yes | Seller agent ID (get this from service listings or previous transactions) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Services by Tags

**Slug:** `SKYFIRE_GET_SERVICES_BY_TAGS`

Filter services by tags to find exactly what you need. More efficient than browsing all services when you know the category. Chain: GetAllServiceTags → GetServicesByTags → CreatePayToken.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max services to return |
| `commaDelimitedTags` | string | Yes | Comma-separated tags to filter services. Use GetAllServiceTags to discover available tags. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Skyfire Token Charges

**Slug:** `SKYFIRE_GET_TOKEN_CHARGES`

Audit charges for a specific token. Shows exactly what sellers charged against your token and when. Use for reconciliation: "I authorized $5 max, what did they actually charge?"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tokenId` | string | Yes | Token ID to check charges for (get from ListBuyerTokens) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Introspect Skyfire Token

**Slug:** `SKYFIRE_INTROSPECT_TOKEN`

Check if a token is still valid before calling a seller service. Prevents wasted API calls with expired tokens. Use after creating tokens if there's a delay before calling the seller, or when debugging payment issues.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `token` | string | Yes | The JWT token string to validate (get this from CreatePayToken/CreateKyaToken/CreateKyaPayToken) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Agent Seller Services

**Slug:** `SKYFIRE_LIST_AGENT_SELLER_SERVICES`

List all services registered by the authenticated seller agent. Use when you need to view or manage your own services as a seller.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Skyfire Buyer Tokens

**Slug:** `SKYFIRE_LIST_BUYER_TOKENS`

Inspect buyer tokens for observability. Chain with transactions to audit usage.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of tokens per page (1-100, default: 20) |
| `cursor` | string | No | Pagination cursor from previous response's next_cursor field |
| `status` | string | No | Filter by token status: VALUE_RESERVED (active payment tokens), INFORMATIONAL (identity-only tokens), CONSUMED, EXPIRED |
| `createdAfter` | string | No | ISO 8601 timestamp for earliest tokens to return (default: 7 days ago). Example: 2026-01-20T00:00:00Z |
| `createdBefore` | string | No | ISO 8601 timestamp for latest tokens to return (default: now). Example: 2026-01-27T23:59:59Z |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Skyfire Directory Services

**Slug:** `SKYFIRE_LIST_DIRECTORY_SERVICES`

Browse Skyfire's service directory to obtain `sellerServiceId` for token creation. Chain this with CreatePayToken or CreateKyaPayToken.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Filter by service tags like 'ai,llm' or 'productivity'. Comma-separated, no spaces |
| `limit` | integer | No | How many services to fetch per page. Start with 20, increase if you need to browse more |
| `query` | string | No | Search for services by name or description. Try 'chat', 'image', 'analysis' etc |
| `cursor` | string | No | Got more results? Pass the next_cursor from previous response to get the next page |
| `category` | string | No | Browse by category like 'AI', 'Data', 'Communication'. Check directory for available categories |
| `minPrice` | string | No | Only show services costing at least this much per call. Useful to find premium services |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Agent Source IP Addresses

**Slug:** `SKYFIRE_SET_AGENT_SOURCE_IPS`

Register IP addresses as sources for Agent requests (PUT /api/v1/agents/source-ips). Use before creating tokens to whitelist agent IPs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source_ips` | array | Yes | List of IP addresses to register as agent sources (e.g., ['192.168.1.1', '10.0.0.1']). These will be included in tokens created for the agent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
