{"name":"Agent Mailboxes","description":"Working email mailboxes for agents: send and receive over IMAP/SMTP. Register a mailbox on a hosted shared domain or your own custom domain. External domains require ownership and mail DNS before payment; payer-owned managed DNS supports optional automatic setup and propagation waiting. Credentials delivered at provisioning; recovery via EIP-712-signed password reset.","version":"2.0.0","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"supportedInterfaces":[{"url":"https://provider.bluetgroup.com/a2a/mailboxes","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"capabilities":{"streaming":false,"pushNotifications":true,"extensions":[{"uri":"https://daski.io/a2a/v1","description":"Daski marketplace extension: service taxonomy, per-skill pricing and fulfillment, on-chain service linkage (serviceSlug/serviceVersion), and payment binding.","required":false},{"uri":"https://daski.io/a2a/v2","description":"Daski provider-driven service and skill contracts, including closed schemas, pricing, availability, and asset-action semantics.","required":false}]},"skills":[{"id":"check-availability","name":"Check Mailbox Availability","description":"Check whether a mailbox address is available, its price, and — for custom domains — the DNS records still required. Free, no auth.\n\nWhen to use:\n- Before `create-mailbox`, always.\n- To fetch the required MX/SPF/DKIM record set for a custom domain.\n\nInputs:\n- `address` — the full address to check, e.g. `scout@agentmail.example`.\n- `dnsSetup` — `manual` (default) or `automatic`; use the same mode in create-mailbox.\n- `payer` — the intended wallet address. Omission reports `payer_required`; a candidate address does not itself authorize a claim.\n\nReturns: A2A task; artifact includes `address, available, reason, purchasable, purchaseBlockers, checkedAt, readiness, price, domain`. `readiness` includes `state, reasons, checkedAt, ownership, dns, records`; each record supplies `type, name` (full DNS name), `host` (relative host), `value, priority`.\n- `available` — the name itself is free.\n- `purchasable` — this candidate payer meets the selected setup mode: verified DNS in manual mode, or an eligible automatic plan. DNS status remains separate. Obtain a fresh payer-bound quote before payment.\n- An external domain needs TXT `_daski-mail.<domain>` with exact `daski-mail-owner=<lowercase payer>` as well as MX/SPF and configured DKIM. Managed domains use current owner control instead of TXT. Eligible managed DNS advertises autoConfigurable: true; choose dnsSetup: automatic on both availability and create-mailbox to prepare records after payment and wait for propagation. Manual mode still requires verified public mail DNS before payment.\n- `dns: conflict` means incompatible public records; `lookup_unavailable` means the resolver could not answer, not missing DNS. Fix records or retry lookup before payment.\n- `domain.claimed` — a custom domain already provisioned by a tenant; only that tenant (or the domain's Daski owner) can add mailboxes.\n\nNext step:\n- `purchasable: true` → `daski_get_payment_challenge` with `payerAddress`, then `daski_buy_outcome` after approval.\n- `purchaseBlockers` contains `dns_conflict` → resolve the conflicting records first (`list-dns-records`, then `set-dns-record`/`delete-dns-record`), re-check, then buy.\n- For manual setup, publish the returned records and recheck before payment. For eligible automatic setup, explicitly select dnsSetup: automatic; do not perform separate DNS edits. Existing conflicting records are never replaced. A paid dns_pending order resumes without another payment.","tags":["communications","agent-mailbox","free","availability"],"examples":["Is scout@agentmail.example available?","Can I get ops@my-startup.com as a mailbox?","What DNS records does my-startup.com need for a mailbox?","How much is a mailbox?"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/check-availability.md","inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"create-mailbox","name":"Create Mailbox","description":"Provision a working email mailbox for one year ($9.99/yr). On success you receive IMAP + SMTP credentials, retained encrypted for authorized recovery for seven days.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- You want an email identity on a hosted shared domain (instant — pick a free local part from `check-availability`).\n- You want a mailbox on your own domain. Supply the actual payer to `check-availability`. Choose `dnsSetup: \"automatic\"` for payer-owned Daski-managed DNS: payment authorizes additive mail records and the order waits for propagation before provisioning. Omitted or manual mode requires verified mail DNS before payment. External domains always require payer-specific ownership TXT and mail DNS before payment; automatic mode is refused.\n\nWhen NOT to use:\n- `check-availability` reported the name taken or reserved.\n- Public DNS or payer ownership is unverified — satisfy the returned prerequisites before purchasing.\n- You lost a mailbox password — use `change-password`, not a new mailbox.\n\nInputs:\n- `address` — the full mailbox address, e.g. `scout@agentmail.example` or `ops@your-domain.com`. Lowercase letters, digits, and internal `.`, `_`, `-` in the local part.\n- `dnsSetup` — `manual` (default) or `automatic`; automatic requires eligible payer-owned registrar DNS.\n- `contactEmail` (optional) — where expiry reminders are sent (T-30 and T-7 days).\n\nCREDENTIALS ARE SHOWN ONCE: the artifact carries the password at delivery and on authorized idempotent recovery for 7 days; after that it is permanently redacted and recovery is `change-password`. Store the password immediately.\n\nSuspension semantics: a suspended or expired mailbox stops SENDING but can still be READ over IMAP — your mail is never held hostage while you renew or resolve an abuse flag.\n\nAbuse policy (shared domains): the mail supplier monitors outbound sending. If the supplier suspends a mailbox for abuse, the owning buyer is banned from creating mailboxes platform-wide and all their shared-domain mailboxes stop sending. An active ban blocks purchase readiness (payer_creation_banned); a ban arriving after payment holds the working order for human Review without supplier provisioning. The message is \"Sender reputation too low for shared email address.\" Do not purchase while banned.\n\nReturns: A2A task; on `state: 'completed'` the artifact is `{ address, credentials: { username, password, imap: { host, port }, smtp: { host, port }, webmail_url }, expiresAt, domainKind, dnsStatus?, dnsApplied? }`.\n\nIf DNS regresses after payment, the order waits in `operations.fulfillment.phase: dns_pending` and rechecks every five minutes. Keep the same order and do not pay again. `waiting_capacity` means ready and queued. Support requires a stable signed `{requestId,message}`; the accepted receipt names a human Review, not email delivery. Operator-approved recovery uses the original payment; `operations.recovery.state: completed` means Completed after recovery while the original failed outcome remains history.\n\nNext step:\n- Save the password.\n- Connect over IMAP (read) and SMTP (send) with the returned endpoints.\n- `get-mailbox-info` any time for status, quota, and DNS health.","tags":["communications","agent-mailbox","paid","provisioning"],"examples":["Create the mailbox scout@agentmail.example","Set up ops@my-startup.com — my domain is registered through Daski","Buy an email address for my agent, reminders to owner@my-startup.com"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/create-mailbox.md","inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"renew-mailbox","name":"Renew Mailbox","description":"Extend a mailbox by one year ($9.99/yr). Renewal during the post-expiry grace window restores sending.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- An expiry reminder arrived (T-30/T-7 days), or `get-mailbox-info` shows expiry near.\n- The mailbox expired less than 30 days ago (grace window) — renewing reactivates it with mail intact.\n\nWhen NOT to use:\n- The mailbox was deleted (grace window passed) — the address must be re-registered with `create-mailbox` and old mail is gone.\n\nInputs:\n- `address` — the mailbox to renew. Any payer is accepted (paying to extend someone's mailbox is a gift); the mailbox must be managed here.\n\nNote: renewing a mailbox that is suspended for abuse extends the term but does NOT restore sending — that requires the operator.\n\nSuspension semantics: a suspended or expired mailbox stops SENDING but can still be READ over IMAP — your mail is never held hostage while you renew or resolve an abuse flag.\n\nReturns: A2A task; artifact `{ address, expiresAt, restored }`.\n\nNext step: `get-mailbox-info` to confirm the new expiry.","tags":["communications","agent-mailbox","paid","renewal"],"examples":["Renew scout@agentmail.example for another year","My mailbox expired last week — reactivate it"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/renew-mailbox.md","inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"get-mailbox-info","name":"Get Mailbox Info","description":"Read the full state of a mailbox you own: asset state and expiry, live supplier state (quota, suspension, sending), domain kind + DNS health, and the IMAP/SMTP endpoints. Never returns the password.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- \"What's the status of my mailbox?\", \"when does it expire?\", \"why can't it send?\"\n- Pre-flight before `renew-mailbox` / `delete-mailbox`.\n\nInputs:\n- `address` — a mailbox you own through this provider. Works on active, suspended, and expired (grace-window) mailboxes.\n\nReturns: A2A task; artifact `{ address, assetState, expiresAt, renewalEligible, ownerCreationBanned, displayName: null, supplier: { suspended, sendingEnabled, quotaUsedMb, quotaLimitMb }, domain: { name, kind, dns? }, endpoints }`.\n\nReading the result:\n- `domain.dns` (custom domains only) is a LIVE PUBLIC-RESOLVER query run at call time — the one public-resolution-backed signal this service returns. `\"unverified\"` + `missingRecords` means those records did not resolve publicly just now, and you may say so as fact. It is not a delivery test.\n- `supplier.sendingEnabled` is SMTP-submission state at the mail supplier, NOT deliverability. Do not relay it as \"email works\".\n- `displayName` is always `null`: mailboxes have no server-side From display name — it is a mail-client setting with no Daski skill behind it. Answer that question directly; do NOT spend this signed two-call handshake to \"check\".\n\nNext step: `renew-mailbox`, `change-password`, or `delete-mailbox` as needed.","tags":["communications","agent-mailbox","free","ownership"],"examples":["What's the status of scout@agentmail.example?","When does my mailbox expire and how much quota is used?","Why can't my mailbox send?"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/get-mailbox-info.md","inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"change-password","name":"Change Mailbox Password","description":"Rotate a mailbox password. The new password is server-generated and shown once; this is also the recovery path for a lost password.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- You lost the mailbox password (there is no other recovery — the provider does not store it).\n- Routine credential rotation, or after a suspected leak.\n\nInputs:\n- `address` — a mailbox controlled by the signing payer wallet. Works on suspended/expired mailboxes too.\n\nEffect: existing IMAP/SMTP sessions are invalidated. Returns: artifact `{ address, credentials }` with the new password (shown once; replays redact after 7 days).\n\nNext step: store the new password; reconnect IMAP/SMTP.","tags":["communications","agent-mailbox","free","credentials"],"examples":["I lost the password for scout@agentmail.example — reset it","Rotate the credentials on my mailbox"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/change-password.md","inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"delete-mailbox","name":"Delete Mailbox","description":"**Destructive.** Delete a mailbox and purge its stored mail at the supplier. NO REFUND is issued for remaining paid term.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- The mailbox is no longer needed and you accept losing its stored mail and remaining term.\n\nWhen NOT to use:\n- You want to stop paying but keep the address until expiry — just let it lapse instead (sending stops at expiry, mail stays readable through the grace window).\n- You want new credentials — use `change-password`.\n\nInputs:\n- `address` — a mailbox controlled by the signing payer wallet.\n\nThe first wallet-authorized call only stages this action and returns the exact effect summary and earliest execution time. After the delay, a fresh wallet authorization must confirm that exact staged action; cancellation is available before execution.\n\nReturns: artifact `{ address, deleted: true, dataPurged: true, refund: \"none\" }`. The freed address becomes available for anyone to register.\n\nNext step: none — the asset enters the terminal `deleted` state.","tags":["communications","agent-mailbox","free","deletion"],"examples":["Delete scout@agentmail.example — I don't need it anymore","Remove my mailbox and purge its mail"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/delete-mailbox.md","inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"get-pricing","name":"Get Pricing","description":"Preview the current price of a paid mailbox skill. Free, no auth. Pricing is fixed ($9.99/yr seed value, operator-configurable), so this mostly matters for budget display.\n\nInputs:\n- `skillId` — `create-mailbox` or `renew-mailbox`.\n\nReturns: artifact `{ skillId, amount, amountUsd, currency: 'USDC', term: '1 year', validUntil }` (`amount` in atomic USDC, ×10⁻⁶ for dollars).\n\nNext step: `daski_buy_service` with the same skillId.","tags":["communications","agent-mailbox","free","pricing"],"examples":["How much does a mailbox cost per year?","Price for renewing a mailbox?"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/get-pricing.md","inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]}],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes.md","extensions":{"https://daski.io/a2a/v1":{"providerAgentId":"95751","x402Version":2,"facilitatorUrl":"https://gateway.daski.io","pricing":{"currency":"USDC","variablePricing":false,"variable":false,"billingModel":"one-time","baseAmount":"9990000"},"serviceDescription":"Working email mailboxes for agents: send and receive over IMAP/SMTP. Register a mailbox on a hosted shared domain or your own custom domain. External domains require ownership and mail DNS before payment; payer-owned managed DNS supports optional automatic setup and propagation waiting. Credentials delivered at provisioning; recovery via EIP-712-signed password reset.","categoryFamily":"communications","serviceType":"agent-mailbox","jurisdictions":["global"],"turnaroundEstimate":"< 60 seconds","serviceLifecycle":"asset-lifecycle","assetTypes":{"mailbox":{"states":["active","suspended","expired","deleted"],"terminalStates":["deleted"],"transitions":[{"from":null,"to":"active","skill":"create-mailbox"},{"from":"active","to":"active","skill":"renew-mailbox"},{"from":"expired","to":"active","skill":"renew-mailbox"},{"from":"active","to":"deleted","skill":"delete-mailbox"},{"from":"suspended","to":"deleted","skill":"delete-mailbox"},{"from":"expired","to":"deleted","skill":"delete-mailbox"}]}},"onChainServiceId":"0xdd330f8b76465b6a845f7e1ce732888b11205e80e426289069970b033c8ce333","serviceVersion":"1","legal":{"marketplaceTermsUrl":"https://daski.io/terms-of-use","marketplacePrivacyUrl":"https://daski.io/privacy-policy","providerLegalName":"Blue T Group, LLC","providerTermsUrl":"https://bluetgroup.com/service-provider-terms-of-use","providerPrivacyUrl":"https://bluetgroup.com/service-provider-privacy-policy"},"support":{"email":"mailboxes@agent.bluetgroup.com","responseSla":"1 business day","emailAuthoritativeFor":["status_inquiry","general_questions","refund","complaint","non_state_changing_clarifications"],"skillRequiredFor":["create-mailbox","renew-mailbox","change-password","delete-mailbox"]},"auth":{"openFreeA2aOnly":true,"managedOrdersAndAssets":"Daski gateway wallet authorization"},"skills":{"check-availability":{"serviceSlug":"mailboxes","serviceVersion":"1","paymentRequired":false,"variablePricing":false,"currency":"USDC","requiresAssetOwnership":false,"access":"open-free-a2a","fulfillmentMode":"automated","humanParties":"none","assetType":null,"requiredFields":["address"],"optionalFields":["payer","dnsSetup"],"pricing":{"type":"one-time","baseAmount":"0"}},"create-mailbox":{"serviceSlug":"mailboxes","serviceVersion":"1","paymentRequired":true,"variablePricing":false,"currency":"USDC","requiresAssetOwnership":false,"access":"gateway-managed-wallet","fulfillmentMode":"automated","humanParties":"none","assetType":null,"requiredFields":["address"],"optionalFields":["contactEmail","dnsSetup"],"pricing":{"type":"one-time","baseAmount":"9990000"}},"renew-mailbox":{"serviceSlug":"mailboxes","serviceVersion":"1","paymentRequired":true,"variablePricing":false,"currency":"USDC","requiresAssetOwnership":true,"access":"gateway-managed-wallet","fulfillmentMode":"automated","humanParties":"none","assetType":"mailbox","requiredFields":["address"],"pricing":{"type":"one-time","baseAmount":"9990000"}},"get-mailbox-info":{"serviceSlug":"mailboxes","serviceVersion":"1","paymentRequired":false,"variablePricing":false,"currency":"USDC","requiresAssetOwnership":true,"access":"gateway-managed-wallet","fulfillmentMode":"automated","humanParties":"none","assetType":"mailbox","requiredFields":["address"],"pricing":{"type":"one-time","baseAmount":"0"}},"change-password":{"serviceSlug":"mailboxes","serviceVersion":"1","paymentRequired":false,"variablePricing":false,"currency":"USDC","requiresAssetOwnership":true,"access":"gateway-managed-wallet","fulfillmentMode":"automated","humanParties":"none","assetType":"mailbox","requiredFields":["address"],"pricing":{"type":"one-time","baseAmount":"0"}},"delete-mailbox":{"serviceSlug":"mailboxes","serviceVersion":"1","paymentRequired":false,"variablePricing":false,"currency":"USDC","requiresAssetOwnership":true,"access":"gateway-managed-wallet","fulfillmentMode":"automated","humanParties":"none","assetType":"mailbox","requiredFields":["address"],"pricing":{"type":"one-time","baseAmount":"0"}},"get-pricing":{"serviceSlug":"mailboxes","serviceVersion":"1","paymentRequired":false,"variablePricing":false,"currency":"USDC","requiresAssetOwnership":false,"access":"open-free-a2a","fulfillmentMode":"automated","humanParties":"none","assetType":null,"requiredFields":["skillId"],"pricing":{"type":"one-time","baseAmount":"0"}}}},"https://daski.io/a2a/v2":{"schemaVersion":1,"providerAgentId":"95751","service":{"serviceId":"0xdd330f8b76465b6a845f7e1ce732888b11205e80e426289069970b033c8ce333","slug":"mailboxes","version":"1","categoryFamily":"communications","serviceType":"agent-mailbox","jurisdictions":["global"],"lifecycle":"asset-lifecycle","turnaroundEstimate":"< 60 seconds","acceptingNewOrders":true},"standardRail":{"origin":"https://provider.bluetgroup.com","providerAudience":"https://provider.bluetgroup.com","quoteUrl":"https://provider.bluetgroup.com/standard-rail/quote","dispatchUrl":"https://provider.bluetgroup.com/standard-rail/dispatch","dispatchStatusUrl":"https://provider.bluetgroup.com/standard-rail/dispatch/status","lifecycleUrl":"https://provider.bluetgroup.com/standard-rail/lifecycle","assetQueryUrl":"https://provider.bluetgroup.com/standard-rail/assets/query","assetActionUrl":"https://provider.bluetgroup.com/standard-rail/assets/action"},"skillContractSetHash":"0x59bafd2cc6c721235502046e676feb6604d7b15fda0124f931c7223277f67e57","skills":[{"skillId":"change-password","skillContractHash":"0x9b1a2c51d709735ea0debe8c68e29e6222c3e60e114a2bf218ebc54e875b97e0","acceptingNewOrders":true,"presentation":{"name":"Change Mailbox Password","description":"Rotate a mailbox password. The new password is server-generated and shown once; this is also the recovery path for a lost password.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- You lost the mailbox password (there is no other recovery — the provider does not store it).\n- Routine credential rotation, or after a suspected leak.\n\nInputs:\n- `address` — a mailbox controlled by the signing payer wallet. Works on suspended/expired mailboxes too.\n\nEffect: existing IMAP/SMTP sessions are invalidated. Returns: artifact `{ address, credentials }` with the new password (shown once; replays redact after 7 days).\n\nNext step: store the new password; reconnect IMAP/SMTP.","examples":["I lost the password for scout@agentmail.example — reset it","Rotate the credentials on my mailbox"],"tags":["credentials"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/change-password.md"},"contract":{"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","maxLength":4096}},"required":["address"],"additionalProperties":false},"resultSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","maxLength":4096},"credentials":{"type":"object","properties":{"username":{"type":"string","maxLength":4096},"password":{"type":"string","maxLength":4096},"imap":{"type":"object","properties":{"host":{"type":"string","maxLength":4096},"port":{"type":"integer","minimum":1},"security":{"type":"string","maxLength":4096}},"required":["host","port","security"],"additionalProperties":false},"smtp":{"type":"object","properties":{"host":{"type":"string","maxLength":4096},"port":{"type":"integer","minimum":1},"security":{"type":"string","maxLength":4096}},"required":["host","port","security"],"additionalProperties":false},"webmail_url":{"type":"string","maxLength":4096}},"required":["username","password","imap","smtp","webmail_url"],"additionalProperties":false},"credentialPolicy":{"type":"string","maxLength":4096}},"required":["address","credentials","credentialPolicy"],"additionalProperties":false},"pricing":{"USDC":{"type":"one-time","fixed_amount":"0"}},"requiresAssetOwnership":true,"paymentRequired":false,"assetType":"mailbox","purchaseReadiness":null,"fulfillmentMode":"automated","capacity":{"maxOpenOrders":100},"deadlines":{},"assetAction":{"ownershipPolicy":"owner-only","effect":"mutate","replayPolicy":"redacted-after-window","retentionSeconds":604800}}},{"skillId":"check-availability","skillContractHash":"0x679372c5a8ebce6ecf732bdbab6d6e0f3f7eabc90ebec2c8447113fcc54e2a28","acceptingNewOrders":true,"presentation":{"name":"Check Mailbox Availability","description":"Check whether a mailbox address is available, its price, and — for custom domains — the DNS records still required. Free, no auth.\n\nWhen to use:\n- Before `create-mailbox`, always.\n- To fetch the required MX/SPF/DKIM record set for a custom domain.\n\nInputs:\n- `address` — the full address to check, e.g. `scout@agentmail.example`.\n- `dnsSetup` — `manual` (default) or `automatic`; use the same mode in create-mailbox.\n- `payer` — the intended wallet address. Omission reports `payer_required`; a candidate address does not itself authorize a claim.\n\nReturns: A2A task; artifact includes `address, available, reason, purchasable, purchaseBlockers, checkedAt, readiness, price, domain`. `readiness` includes `state, reasons, checkedAt, ownership, dns, records`; each record supplies `type, name` (full DNS name), `host` (relative host), `value, priority`.\n- `available` — the name itself is free.\n- `purchasable` — this candidate payer meets the selected setup mode: verified DNS in manual mode, or an eligible automatic plan. DNS status remains separate. Obtain a fresh payer-bound quote before payment.\n- An external domain needs TXT `_daski-mail.<domain>` with exact `daski-mail-owner=<lowercase payer>` as well as MX/SPF and configured DKIM. Managed domains use current owner control instead of TXT. Eligible managed DNS advertises autoConfigurable: true; choose dnsSetup: automatic on both availability and create-mailbox to prepare records after payment and wait for propagation. Manual mode still requires verified public mail DNS before payment.\n- `dns: conflict` means incompatible public records; `lookup_unavailable` means the resolver could not answer, not missing DNS. Fix records or retry lookup before payment.\n- `domain.claimed` — a custom domain already provisioned by a tenant; only that tenant (or the domain's Daski owner) can add mailboxes.\n\nNext step:\n- `purchasable: true` → `daski_get_payment_challenge` with `payerAddress`, then `daski_buy_outcome` after approval.\n- `purchaseBlockers` contains `dns_conflict` → resolve the conflicting records first (`list-dns-records`, then `set-dns-record`/`delete-dns-record`), re-check, then buy.\n- For manual setup, publish the returned records and recheck before payment. For eligible automatic setup, explicitly select dnsSetup: automatic; do not perform separate DNS edits. Existing conflicting records are never replaced. A paid dns_pending order resumes without another payment.","examples":["Is scout@agentmail.example available?","Can I get ops@my-startup.com as a mailbox?","What DNS records does my-startup.com need for a mailbox?","How much is a mailbox?"],"tags":["availability"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/check-availability.md"},"contract":{"inputSchema":{"type":"object","properties":{"address":{"type":"string","minLength":1,"maxLength":4096},"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","minLength":42,"maxLength":42},"dnsSetup":{"type":"string","enum":["manual","automatic"]}},"required":["address"],"additionalProperties":false,"maxProperties":3},"resultSchema":{"type":"object","properties":{"address":{"type":"string","maxLength":320},"available":{"type":"boolean"},"reason":{"type":"string","minLength":1,"maxLength":1024,"nullable":true},"error":{"type":"string","minLength":1,"maxLength":1024},"purchasable":{"type":"boolean"},"purchaseBlockers":{"type":"array","items":{"type":"string","minLength":1,"maxLength":96},"maxItems":32},"checkedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"readiness":{"type":"object","properties":{"state":{"type":"string","enum":["ready","dns_pending","blocked"]},"reasons":{"type":"array","items":{"type":"string","minLength":1,"maxLength":96},"maxItems":32},"checkedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"ownership":{"type":"string","enum":["verified","unknown","mismatch"]},"dns":{"type":"string","enum":["verified","unverified","conflict","lookup_unavailable"]},"records":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["MX","TXT","CNAME"]},"name":{"type":"string","minLength":1,"maxLength":253},"host":{"type":"string","minLength":1,"maxLength":253},"value":{"type":"string","minLength":1,"maxLength":2048},"priority":{"type":"integer","minimum":0,"maximum":65535,"nullable":true}},"required":["type","name","host","value","priority"],"additionalProperties":false,"maxProperties":5},"maxItems":32}},"required":["state","reasons","checkedAt","ownership","dns","records"],"additionalProperties":false,"maxProperties":6,"nullable":true},"price":{"type":"object","properties":{"amount":{"type":"string","minLength":1,"maxLength":80},"currency":{"type":"string","enum":["USDC"]},"display":{"type":"string","minLength":1,"maxLength":80},"term":{"type":"string","minLength":1,"maxLength":80}},"required":["amount","currency","display","term"],"additionalProperties":false,"maxProperties":4},"domain":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":253},"kind":{"type":"string","enum":["shared","custom"]},"claimed":{"type":"boolean"},"dns":{"type":"object","properties":{"status":{"type":"string","enum":["verified","unverified","conflict","lookup_unavailable"]},"autoConfigurable":{"type":"boolean"},"requiredRecords":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["MX","TXT","CNAME"]},"host":{"type":"string","minLength":1,"maxLength":253},"value":{"type":"string","minLength":1,"maxLength":2048},"priority":{"type":"integer","minimum":0,"maximum":65535}},"required":["type","host","value"],"additionalProperties":false,"maxProperties":4},"maxItems":32},"hint":{"type":"string","minLength":1,"maxLength":1024}},"required":["status","autoConfigurable","requiredRecords"],"additionalProperties":false,"maxProperties":4}},"required":["name","kind"],"additionalProperties":false,"maxProperties":4,"nullable":true}},"required":["address","available","reason","purchasable","purchaseBlockers","checkedAt","readiness","price","domain"],"additionalProperties":false,"maxProperties":10},"pricing":{"USDC":{"type":"one-time","fixed_amount":"0"}},"requiresAssetOwnership":false,"paymentRequired":false,"assetType":null,"purchaseReadiness":null,"fulfillmentMode":"automated","capacity":{"maxOpenOrders":100},"deadlines":{},"assetAction":null}},{"skillId":"create-mailbox","skillContractHash":"0xd56a0e7a4a99e36ec1aedbb632de11b0b58ba9cd0fb11b64071173827cfbf95a","acceptingNewOrders":true,"presentation":{"name":"Create Mailbox","description":"Provision a working email mailbox for one year ($9.99/yr). On success you receive IMAP + SMTP credentials, retained encrypted for authorized recovery for seven days.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- You want an email identity on a hosted shared domain (instant — pick a free local part from `check-availability`).\n- You want a mailbox on your own domain. Supply the actual payer to `check-availability`. Choose `dnsSetup: \"automatic\"` for payer-owned Daski-managed DNS: payment authorizes additive mail records and the order waits for propagation before provisioning. Omitted or manual mode requires verified mail DNS before payment. External domains always require payer-specific ownership TXT and mail DNS before payment; automatic mode is refused.\n\nWhen NOT to use:\n- `check-availability` reported the name taken or reserved.\n- Public DNS or payer ownership is unverified — satisfy the returned prerequisites before purchasing.\n- You lost a mailbox password — use `change-password`, not a new mailbox.\n\nInputs:\n- `address` — the full mailbox address, e.g. `scout@agentmail.example` or `ops@your-domain.com`. Lowercase letters, digits, and internal `.`, `_`, `-` in the local part.\n- `dnsSetup` — `manual` (default) or `automatic`; automatic requires eligible payer-owned registrar DNS.\n- `contactEmail` (optional) — where expiry reminders are sent (T-30 and T-7 days).\n\nCREDENTIALS ARE SHOWN ONCE: the artifact carries the password at delivery and on authorized idempotent recovery for 7 days; after that it is permanently redacted and recovery is `change-password`. Store the password immediately.\n\nSuspension semantics: a suspended or expired mailbox stops SENDING but can still be READ over IMAP — your mail is never held hostage while you renew or resolve an abuse flag.\n\nAbuse policy (shared domains): the mail supplier monitors outbound sending. If the supplier suspends a mailbox for abuse, the owning buyer is banned from creating mailboxes platform-wide and all their shared-domain mailboxes stop sending. An active ban blocks purchase readiness (payer_creation_banned); a ban arriving after payment holds the working order for human Review without supplier provisioning. The message is \"Sender reputation too low for shared email address.\" Do not purchase while banned.\n\nReturns: A2A task; on `state: 'completed'` the artifact is `{ address, credentials: { username, password, imap: { host, port }, smtp: { host, port }, webmail_url }, expiresAt, domainKind, dnsStatus?, dnsApplied? }`.\n\nIf DNS regresses after payment, the order waits in `operations.fulfillment.phase: dns_pending` and rechecks every five minutes. Keep the same order and do not pay again. `waiting_capacity` means ready and queued. Support requires a stable signed `{requestId,message}`; the accepted receipt names a human Review, not email delivery. Operator-approved recovery uses the original payment; `operations.recovery.state: completed` means Completed after recovery while the original failed outcome remains history.\n\nNext step:\n- Save the password.\n- Connect over IMAP (read) and SMTP (send) with the returned endpoints.\n- `get-mailbox-info` any time for status, quota, and DNS health.","examples":["Create the mailbox scout@agentmail.example","Set up ops@my-startup.com — my domain is registered through Daski","Buy an email address for my agent, reminders to owner@my-startup.com"],"tags":["provisioning"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/create-mailbox.md"},"contract":{"inputSchema":{"type":"object","properties":{"address":{"type":"string","minLength":1,"maxLength":4096},"contactEmail":{"type":"string","minLength":1,"maxLength":4096},"dnsSetup":{"type":"string","enum":["manual","automatic"]}},"required":["address"],"additionalProperties":false,"maxProperties":3},"resultSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","maxLength":4096},"status":{"type":"object","properties":{"state":{"type":"string","maxLength":4096},"message":{"type":"object","properties":{"role":{"type":"string","maxLength":4096},"parts":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["text","data","file"]},"text":{"type":"string","maxLength":4096},"data":{"type":"object","properties":{"address":{"type":"string","maxLength":4096},"credentials":{"type":"object","properties":{"username":{"type":"string","maxLength":4096},"password":{"type":"string","maxLength":4096},"imap":{"type":"object","properties":{"host":{"type":"string","maxLength":4096},"port":{"type":"integer","minimum":1},"security":{"type":"string","maxLength":4096}},"required":["host","port","security"],"additionalProperties":false},"smtp":{"type":"object","properties":{"host":{"type":"string","maxLength":4096},"port":{"type":"integer","minimum":1},"security":{"type":"string","maxLength":4096}},"required":["host","port","security"],"additionalProperties":false},"webmail_url":{"type":"string","maxLength":4096}},"required":["username","password","imap","smtp","webmail_url"],"additionalProperties":false},"expiresAt":{"type":"string","minLength":10,"maxLength":64},"domainKind":{"type":"string","maxLength":4096},"publicResolutionVerified":{"type":"boolean"},"publicResolutionNote":{"type":"string","maxLength":4096},"dnsStatus":{"type":"string","maxLength":4096},"dnsApplied":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","maxLength":4096},"name":{"type":"string","maxLength":4096},"content":{"type":"string","maxLength":4096},"ttl":{"type":"integer"},"priority":{"type":"integer"}},"required":["type","name","content","ttl"],"additionalProperties":false}},"credentialPolicy":{"type":"string","maxLength":4096}},"required":["address","credentials","expiresAt","domainKind","publicResolutionVerified","publicResolutionNote","credentialPolicy"],"additionalProperties":false},"file":{"type":"object","properties":{"url":{"type":"string","maxLength":4096},"mimeType":{"type":"string","maxLength":4096}},"required":["url","mimeType"],"additionalProperties":false}},"required":["kind"],"additionalProperties":false}}},"required":["role","parts"],"additionalProperties":false}},"required":["state","message"],"additionalProperties":false},"artifacts":{"type":"array","items":{"type":"object","properties":{"artifactId":{"type":"string","maxLength":4096},"name":{"type":"string","maxLength":4096},"parts":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["text","data","file"]},"text":{"type":"string","maxLength":4096},"data":{"type":"object","properties":{"address":{"type":"string","maxLength":4096},"credentials":{"type":"object","properties":{"username":{"type":"string","maxLength":4096},"password":{"type":"string","maxLength":4096},"imap":{"type":"object","properties":{"host":{"type":"string","maxLength":4096},"port":{"type":"integer","minimum":1},"security":{"type":"string","maxLength":4096}},"required":["host","port","security"],"additionalProperties":false},"smtp":{"type":"object","properties":{"host":{"type":"string","maxLength":4096},"port":{"type":"integer","minimum":1},"security":{"type":"string","maxLength":4096}},"required":["host","port","security"],"additionalProperties":false},"webmail_url":{"type":"string","maxLength":4096}},"required":["username","password","imap","smtp","webmail_url"],"additionalProperties":false},"expiresAt":{"type":"string","minLength":10,"maxLength":64},"domainKind":{"type":"string","maxLength":4096},"publicResolutionVerified":{"type":"boolean"},"publicResolutionNote":{"type":"string","maxLength":4096},"dnsStatus":{"type":"string","maxLength":4096},"dnsApplied":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","maxLength":4096},"name":{"type":"string","maxLength":4096},"content":{"type":"string","maxLength":4096},"ttl":{"type":"integer"},"priority":{"type":"integer"}},"required":["type","name","content","ttl"],"additionalProperties":false}},"credentialPolicy":{"type":"string","maxLength":4096}},"required":["address","credentials","expiresAt","domainKind","publicResolutionVerified","publicResolutionNote","credentialPolicy"],"additionalProperties":false},"file":{"type":"object","properties":{"url":{"type":"string","maxLength":4096},"mimeType":{"type":"string","maxLength":4096}},"required":["url","mimeType"],"additionalProperties":false}},"required":["kind"],"additionalProperties":false}}},"required":["artifactId","name","parts"],"additionalProperties":false}}},"required":["id","status"],"additionalProperties":false},"pricing":{"USDC":{"type":"one-time","fixed_amount":"9990000"}},"requiresAssetOwnership":false,"paymentRequired":true,"assetType":null,"purchaseReadiness":"payer_dns","fulfillmentMode":"automated","capacity":{"maxOpenOrders":100},"deadlines":{},"assetAction":null}},{"skillId":"delete-mailbox","skillContractHash":"0xf274b0bf7ef1899388480672af976a36b7ee748937a0672ad4966f122c50fae5","acceptingNewOrders":true,"presentation":{"name":"Delete Mailbox","description":"**Destructive.** Delete a mailbox and purge its stored mail at the supplier. NO REFUND is issued for remaining paid term.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- The mailbox is no longer needed and you accept losing its stored mail and remaining term.\n\nWhen NOT to use:\n- You want to stop paying but keep the address until expiry — just let it lapse instead (sending stops at expiry, mail stays readable through the grace window).\n- You want new credentials — use `change-password`.\n\nInputs:\n- `address` — a mailbox controlled by the signing payer wallet.\n\nThe first wallet-authorized call only stages this action and returns the exact effect summary and earliest execution time. After the delay, a fresh wallet authorization must confirm that exact staged action; cancellation is available before execution.\n\nReturns: artifact `{ address, deleted: true, dataPurged: true, refund: \"none\" }`. The freed address becomes available for anyone to register.\n\nNext step: none — the asset enters the terminal `deleted` state.","examples":["Delete scout@agentmail.example — I don't need it anymore","Remove my mailbox and purge its mail"],"tags":["deletion"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/delete-mailbox.md"},"contract":{"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","maxLength":4096}},"required":["address"],"additionalProperties":false},"resultSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","maxLength":4096},"deleted":{"type":"boolean","const":true},"dataPurged":{"type":"boolean","const":true},"refund":{"type":"string","const":"none"}},"required":["address","deleted","dataPurged","refund"],"additionalProperties":false},"pricing":{"USDC":{"type":"one-time","fixed_amount":"0"}},"requiresAssetOwnership":true,"paymentRequired":false,"assetType":"mailbox","purchaseReadiness":null,"fulfillmentMode":"automated","capacity":{"maxOpenOrders":100},"deadlines":{},"assetAction":{"ownershipPolicy":"owner-only","effect":"destructive","replayPolicy":"stable-result","retentionSeconds":31536000,"confirmationSummarySchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","maxLength":4096}},"required":["address"],"additionalProperties":false},"confirmationSummaryTemplate":{"address":""}}}},{"skillId":"get-mailbox-info","skillContractHash":"0x1de03526e27df34c26f4760c2046748dfb4888d2918753662aa7d26a724e8f8a","acceptingNewOrders":true,"presentation":{"name":"Get Mailbox Info","description":"Read the full state of a mailbox you own: asset state and expiry, live supplier state (quota, suspension, sending), domain kind + DNS health, and the IMAP/SMTP endpoints. Never returns the password.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- \"What's the status of my mailbox?\", \"when does it expire?\", \"why can't it send?\"\n- Pre-flight before `renew-mailbox` / `delete-mailbox`.\n\nInputs:\n- `address` — a mailbox you own through this provider. Works on active, suspended, and expired (grace-window) mailboxes.\n\nReturns: A2A task; artifact `{ address, assetState, expiresAt, renewalEligible, ownerCreationBanned, displayName: null, supplier: { suspended, sendingEnabled, quotaUsedMb, quotaLimitMb }, domain: { name, kind, dns? }, endpoints }`.\n\nReading the result:\n- `domain.dns` (custom domains only) is a LIVE PUBLIC-RESOLVER query run at call time — the one public-resolution-backed signal this service returns. `\"unverified\"` + `missingRecords` means those records did not resolve publicly just now, and you may say so as fact. It is not a delivery test.\n- `supplier.sendingEnabled` is SMTP-submission state at the mail supplier, NOT deliverability. Do not relay it as \"email works\".\n- `displayName` is always `null`: mailboxes have no server-side From display name — it is a mail-client setting with no Daski skill behind it. Answer that question directly; do NOT spend this signed two-call handshake to \"check\".\n\nNext step: `renew-mailbox`, `change-password`, or `delete-mailbox` as needed.","examples":["What's the status of scout@agentmail.example?","When does my mailbox expire and how much quota is used?","Why can't my mailbox send?"],"tags":["ownership"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/get-mailbox-info.md"},"contract":{"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","maxLength":4096}},"required":["address"],"additionalProperties":false},"resultSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","maxLength":4096},"assetState":{"type":"string","maxLength":4096},"expiresAt":{"type":"string","minLength":10,"maxLength":64},"renewalEligible":{"type":"boolean"},"ownerWallet":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","maxLength":4096},"ownerCreationBanned":{"type":"boolean"},"supplier":{"type":"object","properties":{"exists":{"type":"boolean"},"suspended":{"type":"boolean"},"sendingEnabled":{"type":"boolean"},"sendingEnabledMeaning":{"type":"string","maxLength":4096},"quotaUsedMb":{"type":"number"},"quotaLimitMb":{"type":"number"}},"required":["exists","suspended","sendingEnabled","sendingEnabledMeaning","quotaUsedMb","quotaLimitMb"],"additionalProperties":false},"displayName":{"type":"null"},"displayNameNote":{"type":"string","maxLength":4096},"domain":{"type":"object","properties":{"name":{"type":"string","maxLength":4096},"kind":{"type":"string","maxLength":4096},"dns":{"type":"object","properties":{"status":{"type":"string","maxLength":4096},"missingRecords":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","maxLength":4096},"host":{"type":"string","maxLength":4096},"value":{"type":"string","maxLength":4096},"priority":{"type":"integer"}},"required":["type","host","value"],"additionalProperties":false}},"source":{"type":"string","maxLength":4096},"checkedAt":{"type":"string","minLength":10,"maxLength":64},"note":{"type":"string","maxLength":4096}},"required":["status","source","checkedAt","note"],"additionalProperties":false}},"required":["name","kind"],"additionalProperties":false},"endpoints":{"type":"object","properties":{"imap":{"type":"object","properties":{"host":{"type":"string","maxLength":4096},"port":{"type":"integer","minimum":1},"security":{"type":"string","maxLength":4096}},"required":["host","port","security"],"additionalProperties":false},"smtp":{"type":"object","properties":{"host":{"type":"string","maxLength":4096},"port":{"type":"integer","minimum":1},"security":{"type":"string","maxLength":4096}},"required":["host","port","security"],"additionalProperties":false},"webmail_url":{"type":"string","maxLength":4096}},"required":["imap","smtp","webmail_url"],"additionalProperties":false}},"required":["address","assetState","expiresAt","renewalEligible","ownerWallet","ownerCreationBanned","supplier","displayName","displayNameNote","domain","endpoints"],"additionalProperties":false},"pricing":{"USDC":{"type":"one-time","fixed_amount":"0"}},"requiresAssetOwnership":true,"paymentRequired":false,"assetType":"mailbox","purchaseReadiness":null,"fulfillmentMode":"automated","capacity":{"maxOpenOrders":100},"deadlines":{},"assetAction":{"ownershipPolicy":"owner-only","effect":"read","replayPolicy":"stable-result","retentionSeconds":31536000}}},{"skillId":"get-pricing","skillContractHash":"0xa11a0ffe3b95ffd3434f1062f8d10aade3feb11d4218e95e8f22d70717bca5dc","acceptingNewOrders":true,"presentation":{"name":"Get Pricing","description":"Preview the current price of a paid mailbox skill. Free, no auth. Pricing is fixed ($9.99/yr seed value, operator-configurable), so this mostly matters for budget display.\n\nInputs:\n- `skillId` — `create-mailbox` or `renew-mailbox`.\n\nReturns: artifact `{ skillId, amount, amountUsd, currency: 'USDC', term: '1 year', validUntil }` (`amount` in atomic USDC, ×10⁻⁶ for dollars).\n\nNext step: `daski_buy_service` with the same skillId.","examples":["How much does a mailbox cost per year?","Price for renewing a mailbox?"],"tags":["pricing"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/get-pricing.md"},"contract":{"inputSchema":{"type":"object","properties":{"skillId":{"type":"string","minLength":1,"maxLength":4096}},"required":["skillId"],"additionalProperties":false,"maxProperties":1},"resultSchema":{"type":"object","properties":{"amount":{"type":"string","minLength":1,"maxLength":80},"amountUsd":{"type":"string","minLength":1,"maxLength":80},"currency":{"type":"string","minLength":1,"maxLength":16},"validUntil":{"type":"integer","minimum":0,"maximum":9007199254740991},"skillId":{"type":"string","minLength":1,"maxLength":128}},"required":["amount","currency","skillId"],"additionalProperties":false,"maxProperties":5},"pricing":{"USDC":{"type":"one-time","fixed_amount":"0"}},"requiresAssetOwnership":false,"paymentRequired":false,"assetType":null,"purchaseReadiness":null,"fulfillmentMode":"automated","capacity":{"maxOpenOrders":100},"deadlines":{},"assetAction":null}},{"skillId":"renew-mailbox","skillContractHash":"0x511ba31f1e7e4a719ea53a21c5738e5667784858cb01edbc83276dc5d01341d3","acceptingNewOrders":true,"presentation":{"name":"Renew Mailbox","description":"Extend a mailbox by one year ($9.99/yr). Renewal during the post-expiry grace window restores sending.\n\nAccess: paid orders and owner-only asset operations are routed through the Daski gateway. The gateway obtains a short-lived wallet signature bound to the exact provider, action, asset, and request; the provider rejects direct anonymous access.\n\nWhen to use:\n- An expiry reminder arrived (T-30/T-7 days), or `get-mailbox-info` shows expiry near.\n- The mailbox expired less than 30 days ago (grace window) — renewing reactivates it with mail intact.\n\nWhen NOT to use:\n- The mailbox was deleted (grace window passed) — the address must be re-registered with `create-mailbox` and old mail is gone.\n\nInputs:\n- `address` — the mailbox to renew. Any payer is accepted (paying to extend someone's mailbox is a gift); the mailbox must be managed here.\n\nNote: renewing a mailbox that is suspended for abuse extends the term but does NOT restore sending — that requires the operator.\n\nSuspension semantics: a suspended or expired mailbox stops SENDING but can still be READ over IMAP — your mail is never held hostage while you renew or resolve an abuse flag.\n\nReturns: A2A task; artifact `{ address, expiresAt, restored }`.\n\nNext step: `get-mailbox-info` to confirm the new expiry.","examples":["Renew scout@agentmail.example for another year","My mailbox expired last week — reactivate it"],"tags":["renewal"],"documentationUrl":"https://provider.bluetgroup.com/skills/mailboxes/renew-mailbox.md"},"contract":{"inputSchema":{"type":"object","properties":{"address":{"type":"string","minLength":1,"maxLength":4096}},"required":["address"],"additionalProperties":false,"maxProperties":1},"resultSchema":{"type":"object","properties":{"address":{"type":"string","minLength":1,"maxLength":320},"expiresAt":{"type":"string","minLength":1,"maxLength":64},"renewed":{"type":"boolean"},"supplier":{"type":"string","minLength":1,"maxLength":128}},"required":["address","expiresAt","renewed"],"additionalProperties":false,"maxProperties":4},"pricing":{"USDC":{"type":"one-time","fixed_amount":"9990000"}},"requiresAssetOwnership":true,"paymentRequired":true,"assetType":"mailbox","purchaseReadiness":null,"fulfillmentMode":"automated","capacity":{"maxOpenOrders":100},"deadlines":{},"assetAction":null}}]}}}