Skip to content

Buy a domain

Say "buy leaseline.app" and get the Domain registered to your company, locked, renewed ahead and serving your Site with a certificate.

For developers

A Domain you buy registers to your company, serves your Site and renews before it can lapse.

For developers

Needs Startup

What you get

  • 1domain registered to your company, details kept privateDomain
  • 1lock that stops anyone moving the domain awayDomain
  • 3DNS records that stop others sending mail in its nameDNS Record
  • 1certificate, renewed before it expiresDomain
  • 1renewal 90 days ahead, kept two years paidDomain
  • 1site served at leaseline.appSite

Your agent does

Domain.search → Domain.register → Domain.connect
You, to your agent

Buy leaseline.app.

Find me a domain for the business under $20 a year.

Get the .com too, so no one else takes it.

# 1. Domain.search
curl -X POST https://api.sb/leaseline.app/domains/search \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"leaseline"}'

# Look up the Startup: Startup.list
STARTUP=$(curl "https://api.sb/leaseline.app/startups?limit=1" \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" | jq -r '.startups[0]["$id"] | split("/") | last')

# 2. Domain.register
curl -X POST https://api.sb/leaseline.app/domains/register \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hostname":"leaseline.app","startup":"'"$STARTUP"'"}'

# 3. Domain.connect
curl -X POST https://api.sb/leaseline.app/domains/connect \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hostname":"leaseline.app","startup":"'"$STARTUP"'"}'
import { $ } from 'startup-builder'

await $.Domain.search({ query: 'leaseline' })
const [startup] = await $.Startup.list({ limit: 1 })
await $.Domain.register({ hostname: 'leaseline.app', startup: startup.$id })
await $.Domain.connect({ hostname: 'leaseline.app', startup: startup.$id })
npx startup-builder do Domain.search --json '{"query":"leaseline"}'
STARTUP=$(npx startup-builder do Startup.list --json '{"limit":1}' | jq -r '.startups[0]["$id"] | split("/") | last')
npx startup-builder do Domain.register --json '{"hostname":"leaseline.app","startup":"'"$STARTUP"'"}'
npx startup-builder do Domain.connect --json '{"hostname":"leaseline.app","startup":"'"$STARTUP"'"}'
{
  "name": "do",
  "arguments": {
    "code": "await $.Domain.search({ query: 'leaseline' })\nconst [startup] = await $.Startup.list({ limit: 1 })\nawait $.Domain.register({ hostname: 'leaseline.app', startup: startup.$id })\nreturn await $.Domain.connect({ hostname: 'leaseline.app', startup: startup.$id })"
  }
}

Change it

  • Send leaseline.com to leaseline.app.
  • Give me hello@leaseline.app.
  • Show me .com and .io options first.
  • Renew it for five years.

Under the hood

Systems
Sites
Nouns
Domain, DNS Record, Site
Events
Domain.registered, Domain.connected