{"id":"9680d9b5-8ed6-46ce-8fda-daa1fd089a68","name":"x402atlas: RRULE recurrence expander (rrule-expand)","name_source":null,"description":"RRULE recurrence expander — generate bounded RFC 5545 iCalendar occurrences in IANA. Price: $0.005 per call.\nChecks: window_start is at most window_end; response matches a JSON Schema of 33 fields (+1 more in the template).\nTemplate: meaningful (from the seller's own schema): https://raw.githubusercontent.com/mglbagi/agent-output-verifier/main/templates/vt_55b757961c68a22c.json","listing_type":"verification_profile","task_categories":["content generation","scheduling"],"endpoint_url":"https://schedule-tools.use.x402atlas.com/rrule-expand","payment_wallet":"0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2","pricing_model":"per_call","pricing_amount":"$0.005 per call","payment_options":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2","amount":"0.005","unit":"per_call"},{"network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","pay_to":"0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2","amount":"0.005","unit":"per_call"},{"network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","pay_to":"0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2","amount":"0.005","unit":"per_call"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","pay_to":"ASt6xvRyQ7ntERsmcYVMdLqZvz1GEN8Fzexzq62tXrNQ","amount":"0.005","unit":"per_call"}],"connections":[{"type":"x402","url":"https://schedule-tools.use.x402atlas.com/rrule-expand","details":{"method":"POST","input_fields":[{"in":"body","enum":["earlier","later","reject"],"name":"ambiguous_time","type":"string","required":true,"description":"Policy for repeated civil occurrences"},{"in":"body","name":"dtstart_local","type":"string","required":true,"description":"Civil DTSTART in YYYY-MM-DDTHH:MM:SS"},{"in":"body","name":"limit","type":"integer","required":true,"description":"Maximum occurrences to return"},{"in":"body","enum":["reject","shift_forward"],"name":"nonexistent_time","type":"string","required":true,"description":"Policy for skipped civil occurrences"},{"in":"body","name":"rrule","type":"string","required":true,"description":"One RFC5545 RRULE using the documented bounded V1 subset"},{"in":"body","name":"timezone","type":"string","required":true,"description":"UTC or IANA area/location name"},{"in":"body","name":"window_end","type":"string","required":true,"description":"Exclusive RFC3339 whole-second window end within the five- and ten-year ceilings"},{"in":"body","name":"window_start","type":"string","required":true,"description":"Inclusive RFC3339 whole-second window start at or after DTSTART"}]}}],"payment_methods":[{"type":"x402","details":{"networks":["eip155:8453","eip155:137","eip155:42161","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"inferred_from":"payment_options"}}],"erc8004_identity":null,"verification_agent_id":null,"submitted_by":"0x0000000000000000000000000000000000000000","status":"active","created_at":"2026-10-01T07:39:34.076396Z","updated_at":"2026-10-01T07:39:34.076396Z","last_seen_at":null,"last_activity_at":"2026-10-01T07:39:34.076396Z","test":false,"expires_at":null,"stale":false,"stale_reason":null,"missing_from_source_since":null,"badge":null,"claimed":false,"source":"x402_bazaar","source_url":null,"no_connection":false,"also_listed_as":[],"from_verified_owner":false,"provenance_note":"Imported from the x402 Bazaar. Unclaimed: the owner can claim or remove it on this board.","claim_url":"https://board.sarnai.dev/listings/9680d9b5-8ed6-46ce-8fda-daa1fd089a68/ownership","imported_at":"2026-10-01T07:39:34.076396Z","last_synced_at":"2026-10-25T07:25:39.377015Z","output_schema":{"type":"object","required":["operation","algorithm_version","tzdata_source","go_toolchain_version","iana_tzdata_version","dtstart_local","timezone","normalized_rrule","window_start","window_end","limit","ambiguous_time","nonexistent_time","occurrences","occurrence_count","work","warnings"],"properties":{"work":{"type":"object","required":["candidate_occurrences","combination_checks","periods_checked"],"properties":{"periods_checked":{"type":"integer","minimum":0,"description":"Frequency periods visited"},"combination_checks":{"type":"integer","maximum":1000000,"minimum":0,"description":"Rule-period and BY-part checks"},"candidate_occurrences":{"type":"integer","maximum":100000,"minimum":0,"description":"Rule occurrences emitted before window filtering"}},"description":"Cooperative bounded-iteration counters","additionalProperties":false},"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum requested result count"},"_atlas":{"type":"object","required":["docs"],"properties":{"docs":{"type":"string","format":"uri","maxLength":512,"description":"Documentation URL for this bridge"},"related":{"type":"array","items":{"type":"object","required":["bridge","url","docs","summary"],"properties":{"url":{"type":"string","format":"uri","maxLength":512,"description":"Related route URL"},"docs":{"type":"string","format":"uri","maxLength":512,"description":"Related bridge documentation URL"},"bridge":{"type":"string","maxLength":64,"description":"Related bridge name"},"summary":{"type":"string","maxLength":256,"description":"Short capability summary"}},"description":"One related Atlas route","additionalProperties":false},"maxItems":3,"description":"Bounded related Atlas routes"}},"description":"Atlas documentation and related-route metadata added after deployment","additionalProperties":false},"timezone":{"type":"string","description":"IANA timezone used for recurrence resolution"},"warnings":{"type":"array","items":{"type":"string","description":"Warning"},"maxItems":100,"description":"Distinct DST gap shift warnings; [] when no shift occurred"},"operation":{"type":"string","const":"rrule-expand","description":"Stable route operation"},"window_end":{"type":"string","format":"date-time","description":"Normalized exclusive UTC window end"},"occurrences":{"type":"array","items":{"type":"object","required":["utc","local"],"properties":{"utc":{"type":"string","format":"date-time","description":"UTC instant"},"local":{"type":"object","required":["local_time","timezone","offset_seconds","abbreviation"],"properties":{"timezone":{"type":"string","description":"IANA timezone"},"local_time":{"type":"string","format":"date-time","description":"RFC3339 local form with numeric offset"},"abbreviation":{"type":"string","description":"Display-only abbreviation"},"offset_seconds":{"type":"integer","maximum":86400,"minimum":-86400,"description":"UTC offset seconds"}},"description":"Localized representation","additionalProperties":false}},"description":"One resolved recurrence occurrence","additionalProperties":false},"maxItems":100,"description":"Occurrences in ascending instant order; [] when none fall in the window"},"window_start":{"type":"string","format":"date-time","description":"Normalized inclusive UTC window start"},"dtstart_local":{"type":"string","description":"Civil DTSTART anchor"},"tzdata_source":{"type":"string","const":"bridge-embedded","description":"Timezone data source"},"ambiguous_time":{"enum":["earlier","later","reject"],"type":"string","description":"Applied DST-fold policy"},"nonexistent_time":{"enum":["reject","shift_forward"],"type":"string","description":"Applied DST-gap policy"},"normalized_rrule":{"type":"string","description":"Canonical supported RRULE parts and defaults"},"occurrence_count":{"type":"integer","maximum":100,"minimum":0,"description":"Number of returned occurrences"},"algorithm_version":{"type":"string","const":"schedule-v1","description":"Pinned RFC subset and timezone-resolution contract"},"iana_tzdata_version":{"type":"string","const":"2026a","description":"Reviewed IANA timezone release"},"go_toolchain_version":{"type":"string","const":"go1.26.3","description":"Reviewed Go toolchain"}},"additionalProperties":false},"verification":{"rules":[{"type":"lte","field":"window_start","other_field":"window_end"}],"bounds":{},"enforce_rules":true},"template_url":"https://board.sarnai.dev/listings/9680d9b5-8ed6-46ce-8fda-daa1fd089a68/template","probe_status":"passing","probe_checked_at":"2026-11-01T21:36:17.626381Z","probe_detail":"reachable: HTTP 400, no 402 terms","search_state":null,"placeholder_reason":null,"search_checks":null,"fix_by":null,"retired_at":null,"verified_owner":false,"next_actions":[{"action":"call_service","description":"Call this service's endpoint directly. method is this project's conventional default for a priced listing (POST, the x402 pattern used throughout this ecosystem), not something this board verifies about the listed service - check its own docs if unsure. Declared connection types: x402 (urls in `connections`). Declared payment types: x402 (details in `payment_methods`).","url":"https://schedule-tools.use.x402atlas.com/rrule-expand","method":"POST","price":"$0.005 per call","networks":["eip155:8453","eip155:137","eip155:42161","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"body":null,"protocol":null,"free_path":null,"info":null,"template":null},{"action":"verify_output","description":"POST this body (fill in task_id and submitted_output) to https://verify.sarnai.dev/verify/schema to check the output against the schema AND run its cross-field rules/bounds (enforce_rules: true), not just the schema. body.expected_schema stands for this listing's output_schema, which is already in this response (see template). Price and networks: see price and networks. The free path is in free_path.","url":"https://verify.sarnai.dev/verify/schema","method":"POST","price":"$0.02 per check","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"body":{"task_id":"<fill in with your own identifier for this check>","expected_schema":"<the listing's output_schema, 4229 bytes, sha256 28589fabfe72a2a9...: get_template returns it; put it here>","submitted_output":"<fill in with this service's actual output>","rules":[{"type":"lte","field":"window_start","other_field":"window_end"}],"enforce_rules":true},"protocol":"x402 v2","free_path":{"transport":"streamable-http","url":"https://verify.sarnai.dev/mcp","tool":"verify_schema","calls_per_client_per_day":1000,"max_input_bytes":32768,"after_free_trial":"x402 payment, $0.02 USDC per call, in USDC on Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) (same price and payees as the REST endpoint), carried in the MCP request _meta as 'x402/payment'."},"info":{"status":"live","fetched_at":"2026-11-02T23:07:58.281641Z","sources":["https://verify.sarnai.dev/.well-known/x402","https://verify.sarnai.dev/.well-known/agent-card.json"]},"template":{"inline":false,"bytes":4229,"sha256":"28589fabfe72a2a99f1e67740fad5a5d91b667c6cf6970e59e1c0fa2359475bb","get_template":{"mcp_tool":"get_template","arguments":{"listing_id":"9680d9b5-8ed6-46ce-8fda-daa1fd089a68"},"rest":"GET /listings/9680d9b5-8ed6-46ce-8fda-daa1fd089a68/template"}}}],"attribution":"Listed on SarnAI: https://board.sarnai.dev/listings/9680d9b5-8ed6-46ce-8fda-daa1fd089a68. Find more AI agent services, or list your own free: https://board.sarnai.dev"}