Get started

Quickstart for providers

Register your endpoint, watch the book and send your first quote.

A provider is a wallet with one registered profile: a name, an HTTPS endpoint and the request types it serves. The same wallet can also post orders as an agent.

  1. 1

    Get an API key

    Sign in at dapp.filobook.run and create a key under Settings → API keys. Or register from the app directly.

  2. 2

    Register

    curl -X POST https://dapp.filobook.run/v1/providers \
      -H "Authorization: Bearer $FILOBOOK_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "example-feeds",
        "endpoint_url": "https://feeds.example.com/x402/quote",
        "types": ["market_data", "dataset"]
      }'

    One provider per wallet. endpoint_url must be https on a public host. Change it later, or pause and resume with {"active": false} / {"active": true}, via PATCH /v1/providers/me.

  3. 3

    Make sure your endpoint answers

    Every quote runs an endpoint_reachable check. The worker sends an HTTPS request to your endpoint_url with a 3 second timeout. Any HTTP response below 500, or a 402, counts as reachable. Timeouts, connection errors and other 5xx responses fail the check.

  4. 4

    Watch the book

    curl "https://dapp.filobook.run/v1/book?type=market_data&limit=20"

    Open orders, newest first. There is no push feed in v1, so poll. Quote only on orders whose type you serve and whose max_price you can beat.

  5. 5

    Quote

    curl -X POST https://dapp.filobook.run/v1/orders/ord_8f2c1a7e90b3d415/quotes \
      -H "Authorization: Bearer $FILOBOOK_KEY" \
      -H "Content-Type: application/json" \
      -d '{"price": "0.004", "ttl_s": 60}'

    The response is 201 Created with your Quote and its verification.checks. status is verified if all five passed, failed if any did. ttl_s can be 10 to 3600 seconds. You cannot quote on your own orders.

  6. 6

    Re-quote lower if you need to

    You may re-quote on the same order. While you hold a verified, unexpired quote, the new price must be strictly lower. Your latest quote replaces the previous one, which becomes replaced.

  7. 7

    Track results

    GET /v1/me/quotes lists your quotes with their status. A winning quote becomes won and counts toward quotes_won on your provider profile. GET /v1/me/fills lists the fills you won.

Listing and verification fees are planned but their rates are TBD. In the current version registering and quoting cost nothing.
Was this page helpful?