Agent Margin Router

Convert or transcode a public audio/video/image file via a self-hosted FFmpeg container: pass a source URL and a target format (mp3, mp4, webm, wav, png, …) and receive a public output URL. Pay per call with USDC or USDT on Base via x402 – no API key, no signup. 3 free calls per wallet.

MediaLiveeip155:8453Exactvia wellknown:agent-margin-router-production.up.railway.app
MediaFfmpegAudioVideoTranscodex402
Settlements · 30d
11↓ 100%
No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days.
$0.14
Verified settled volume
11 settlements proven x402 by their on-chain EIP-3009 marker.
$0.030
Listed price
As published in the catalog. Always read the live 402 before paying.
Calls · 30d
Upstream's own call count for this endpoint, not ours.
Unique payers · 30d
Never called
Upstream on-chain volume
Reported by the source catalog.
Paid to
0xf7a181bbe5d29924e800df4ba93418ef94f4e7c2

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Live 402 challenge

Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.

{
  "error": "payment_required",
  "accepts": [
    {
      "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "extra": {
        "name": "USD Coin",
        "chainId": 8453,
        "version": "2",
        "decimals": 6
      },
      "payTo": "0xf7a181bbe5d29924e800df4ba93418ef94f4e7c2",
      "scheme": "exact",
      "network": "base",
      "mimeType": "application/json",
      "priceUsd": 0.03,
      "resource": "https://agent-margin-router-production.up.railway.app/media-convert",
      "assetSymbol": "USDC",
      "description": "Agent Margin Router – Media Convert: Convert or transcode a public audio/video/image file via a self-hosted FFmpeg container: pass a source URL and a target format (mp3, mp4, webm, wav, png, …) and receive a public output URL. Pay per call with USDC or USDT on Base via x402 – no API key, no signup. 3 free calls per wallet.",
      "outputSchema": {
        "input": {
          "type": "http",
          "method": "POST",
          "example": {
            "url": "https://example.com/clip.mov",
            "operation": "transcode",
            "target_format": "mp4"
          },
          "bodyType": "json",
          "bodyFields": {
            "url": {
              "type": "string",
              "format": "uri",
              "required": true,
              "description": "Public URL of the source file."
            },
            "operation": {
              "type": "string",
              "required": false,
              "description": "Named operation, e.g. extract-audio, thumbnail, transcode."
            },
            "target_format": {
              "type": "string",
              "required": true,
              "description": "Output format, e.g. mp3, mp4, webm, wav, png."
            }
          },
          "discoverable": true
        },
        "output": {
          "type": "json",
          "example": {
            "token": "USDC",
            "source": "media",
            "routing": {
              "provider": "media",
              "cache_hit": false,
              "latency_ms": 4200
            },
            "cost_usdc": 0.03,
            "operation": "transcode",
            "output_url": "https://cdn.example.com/out/clip.mp4",
            "source_url": "https://example.com/clip.mov",
            "output_bytes": 1048576,
            "target_format": "mp4",
            "duration_seconds": 12.5,
            "freshness_seconds": 0
          }
        }
      },
      "maxAmountRequired": "30000",
      "maxTimeoutSeconds": 300
    }
  ],
  "free_tier": {
    "limit": 3,
    "how_to": "Send header X-WALLET: 0x<your address> (or X-API-KEY) for free requests, then pay via x402."
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "url": "https://example.com/clip.mov",
            "operation": "transcode",
            "target_format": "mp4"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "token": "USDC",
            "source": "media",
            "routing": {
              "provider": "media",
              "cache_hit": false,
              "latency_ms": 4200
            },
            "cost_usdc": 0.03,
            "operation": "transcode",
            "output_url": "https://cdn.example.com/out/clip.mp4",
            "source_url": "https://example.com/clip.mov",
            "output_bytes": 1048576,
            "target_format": "mp4",
            "duration_seconds": 12.5,
            "freshness_seconds": 0
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "required": [
                  "url",
                  "target_format"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "Public URL of the source file."
                  },
                  "operation": {
                    "type": "string",
                    "description": "Named operation, e.g. extract-audio, thumbnail, transcode."
                  },
                  "target_format": {
                    "type": "string",
                    "description": "Output format, e.g. mp3, mp4, webm, wav, png."
                  }
                }
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402/verify",
  "x402Version": 1
}

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.03USDC≈ $0.03 USD
on Base · exact scheme

Pay 0.03 USDC on Base to 0xf7a1…4e7c2. The signed payment is good for 5 minutes.

USD Coin contract
0x8335…02913
Payment window
5 minutes
As published
30000 smallest units
Buys
Convert or transcode a public audio/video/image file via a self-hosted FFmpeg container: pass a source URL and a target format (mp3, mp4, webm, wav, png, …) and receive a public output URL. Pay per call with USDC or USDT on Base via x402 – no API key, no signup. 3 free calls per wallet.
Returns
application/json
The catalog’s raw entry
[
  {
    "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "extra": {
      "name": "USD Coin",
      "chainId": 8453,
      "version": "2",
      "decimals": 6
    },
    "payTo": "0xf7a181bbe5d29924e800df4ba93418ef94f4e7c2",
    "scheme": "exact",
    "network": "base",
    "mimeType": "application/json",
    "priceUsd": 0.03,
    "resource": "https://agent-margin-router-production.up.railway.app/media-convert",
    "assetSymbol": "USDC",
    "description": "Convert or transcode a public audio/video/image file via a self-hosted FFmpeg container: pass a source URL and a target format (mp3, mp4, webm, wav, png, …) and receive a public output URL. Pay per call with USDC or USDT on Base via x402 – no API key, no signup. 3 free calls per wallet.",
    "outputSchema": {
      "input": {
        "type": "http",
        "method": "POST",
        "example": {
          "url": "https://example.com/clip.mov",
          "operation": "transcode",
          "target_format": "mp4"
        },
        "bodyType": "json",
        "bodyFields": {
          "url": {
            "type": "string",
            "format": "uri",
            "required": true,
            "description": "Public URL of the source file."
          },
          "operation": {
            "type": "string",
            "required": false,
            "description": "Named operation, e.g. extract-audio, thumbnail, transcode."
          },
          "target_format": {
            "type": "string",
            "required": true,
            "description": "Output format, e.g. mp3, mp4, webm, wav, png."
          }
        },
        "discoverable": true
      },
      "output": {
        "type": "json",
        "example": {
          "token": "USDC",
          "source": "media",
          "routing": {
            "provider": "media",
            "cache_hit": false,
            "latency_ms": 4200
          },
          "cost_usdc": 0.03,
          "operation": "transcode",
          "output_url": "https://cdn.example.com/out/clip.mp4",
          "source_url": "https://example.com/clip.mov",
          "output_bytes": 1048576,
          "target_format": "mp4",
          "duration_seconds": 12.5,
          "freshness_seconds": 0
        }
      }
    },
    "maxAmountRequired": "30000",
    "maxTimeoutSeconds": 300
  }
]

Provenance

Seen in the source catalog
Last indexed by Roundhouse
2026-09-23 15:15Z
Last enriched (probe, favicon, geo)
2026-09-23 15:45Z
x402 version
1
Max timeout
300s
Liveness probe
HTTP 402
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service Agent Margin Router and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Agent%20Margin%20Router'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://agent-margin-router-production.up.railway.app/media-convert, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.