# Deployments, from wherever your code is.

URL: https://antideploy.com/platform/deployments

Your coding agent, a GitHub repository or a folder: any of them reaches the same pipeline. Every deploy is kept with the commit it built, a failed one says why in a sentence you can act on, and you can redeploy or go back.

## At a glance

- **Three ways in**: Your coding agent, a GitHub repository or a folder
- **Failed deploys are free**: They never count against your plan, so fixing one costs nothing
- **Failures in plain words**: The reason, the step it stopped at, and the end of the log
- **Redeploy and rollback**: Build again with new variables, or put back the last good version

## Send it once. Watch it go live.

Antideploy takes whatever you send, works out how to build it, and walks it through the same steps every time.

### One command from your agent.

After the one-time approval, your agent tars the project directory and posts it. The answer carries a task id and a watch address, and your agent polls it until the status is succeeded or failed. When it succeeds, the response names the live address and the Antideploy account it went to.

- Send the whole project directory, not just an entry point
- One deploy at a time per app, and up to 20 an hour per app
- The same call works from a CI job with a project key

[See the Agent API](https://antideploy.com/platform/agent-api)

**Your agent runs**

```bash
API=https://antideploy.com/api/v1

tar czf - --exclude=.git --exclude=node_modules . \
    | curl -X POST "$API/deploy?applicationId=$APP_ID" \
        -H "Authorization: Bearer $TOKEN" -F "archive=@-"

# then poll the watch address until it says succeeded or failed
curl "$API/deployments/$TASK_ID" -H "Authorization: Bearer $TOKEN"
```

Related: `POST /api/v1/deploy`, `GET /api/v1/deployments/{id}`

### The same steps, every time.

Whichever way the code arrived, a deploy is packaged, built into a container, given its database if it needs one, migrated, started, checked and then opened to the world. If any step fails, the deploy stops there and says which one.

- If a migration fails, the deploy stops, so a broken schema never goes live
- The app has to answer a health check before the deploy counts as live
- A security check of the live app runs right after, without holding the deploy up

[See the security check](https://antideploy.com/platform/security-checks)

**A deploy, step by step**

```
Preparing infrastructure
Packaging your code
Building the container
Setting up the database     only if your code needs one
Creating your tables        your migration command
Starting your application
Checking it responds
Opening it to the world
```

## Everything after the first deploy.

Shipping once is the easy part. These are what you use on the hundredth deploy.

- **Your coding agent deploys for you.** Paste one sentence, or add the MCP server once. Your agent deploys, reads the result and fixes what broke, without you relaying it. You approve one link and nothing else. See the [Agent API](https://antideploy.com/platform/agent-api).
- **GitHub, with a switch.** Connect a repository once by installing the Antideploy GitHub App on the repositories you choose. Every push to your default branch builds and deploys, or flip the switch off and deploy only when you ask, which saves a free plan's deploys for when they matter.
- **A folder, with nothing to install.** Drop a folder or a .zip into the console. No Git and no CLI. Dependencies and build output, such as node_modules, .git and .next, are skipped for you.
- **Redeploy without sending the code again.** A changed variable or a new AI key reaches the running app through a redeploy, which builds the version last sent again with the current variables. For a GitHub app, it can deploy the newest commit of the default branch.
- **Rollback to the last good version.** Put back the last version that went live before the one serving now. It is built again from its source, so it takes as long as a deploy. It is a rebuild, not an instant switch.
- **Failures that explain themselves.** A failed deploy says why in a sentence you can act on, with the step it stopped at, the end of the build log and what the app printed while Antideploy tried to start it. The most common cause is an app that builds correctly and never listens on its port.
- **Fixed on our side when it is ours.** If a deploy fails because of the platform and not your code, Antideploy builds the same version again for you once the cause has cleared, and the retry never counts against your deploys. Where a fix is certain from the log alone, such as an out-of-date lock file, it repairs its own copy of the source and tells you. It never edits your repository.
- **What changed since it last worked.** Every deploy records its commit and, against the last version that went live, how the code moved and which variables were added, changed or removed. Names only, never values.

## What counts, and what does not.

Only a deploy of an app with a server that goes live counts, and the count starts again on the 1st of every month.

| Deploy limit | Free | Go | Pro | Scale |
| --- | --- | --- | --- | --- |
| **Deploys** |  |  |  |  |
| Successful deploys a month | 10 | Unlimited | Unlimited | Unlimited |
| Static site deploys | Not counted | Not counted | Not counted | Not counted |
| Failed deploys | Free | Free | Free | Free |
| Deploys an hour | 20 per app, 60 per account | 20 per app, 60 per account | 20 per app, 60 per account | 20 per app, 60 per account |
| **Apps** |  |  |  |  |
| Live apps with a server | 1 | 3 | 9 | 20 |
| Folder or archive pushed | 4,000 files, 28 MB | 4,000 files, 28 MB | 4,000 files, 28 MB | 4,000 files, 28 MB |
| Deploy on every push, or on demand | Yes | Yes | Yes | Yes |

## Here's where it stops.

A platform that only tells you what it is good at is one you find the edges of in production. These are the deployments'.

### One deploy at a time

A second deploy of the same app is refused with a deploy-in-progress answer until the first finishes. Different apps deploy side by side.

### Rollback is a rebuild

Going back builds the older version again from its source, so it takes as long as a deploy and is not an instant switch.

### No staging or previews

One deployed version per project. There are no per-branch URLs and no preview deployments.

### 10 deploys a month on Free

Only successful deploys of apps with a server count. Static sites never do, and a failed deploy is free.

### A Dockerfile has an age gate

A custom Dockerfile builds from the first deploy for accounts signed in with GitHub or Google and on any paid plan. An account made with only an email address waits 7 days.

## Deployment questions, answered.

Anything else? Write to us and a person answers.

[support@antideploy.com](mailto:support@antideploy.com)

### Do I need a GitHub repository?

No. Your coding agent can deploy a project straight from its folder, and you can also drop a folder or a .zip into the console. GitHub is one of three ways in.

### What happens when I push to GitHub?

If deploy on push is on for that app, every push to the default branch builds and deploys. If it is off, pushes wait until you ask, and your agent can deploy the newest commit with a redeploy. Each deploy shows the commit it built.

### What does a failed deploy cost?

Nothing. Failed deploys never count against your plan, so you can fix the cause and push again as often as you need.

### How do I go back to an earlier version?

Roll back from the console or have your agent do it. The last version that went live before the current one is built again from its source, so it takes as long as a normal deploy.

### How do I apply a changed environment variable?

Redeploy. A redeploy builds the version last sent again with the current variables, without the code being sent again. See [environment variables](https://antideploy.com/platform/environment-variables).

### Why did my deploy fail when the code runs locally?

Read the reason first: it is in the deploy history and in the email you receive. The most common cause is an app that builds correctly and never listens on its port, and redeploying it unchanged fails the same way. Fix the cause, then deploy again.

### Does Antideploy retry failed deploys for me?

When a deploy fails because of the platform and not your code, yes. The same version is built again once the cause has had a few minutes to clear, and the retry does not count against your deploys or send you an email.

### How big can a pushed project be?

Up to 4,000 files and 28 MB. Dependencies and build output are skipped, so a typical project is far below that.

### Can I deploy from CI?

Yes. Mint a project key for one application and use it in your pipeline. It is scoped to that application, built to survive being committed, and can be revoked at any time. Each application can have up to ten live keys.

## Everything else your app can use.

Every service is created by your coding agent, wired into your app, and included in the plans. [See the whole platform](https://antideploy.com/platform).

- [Hosting](https://antideploy.com/platform/hosting)
- [Static sites](https://antideploy.com/platform/static-sites)
- [Database](https://antideploy.com/platform/database)
- [Authentication](https://antideploy.com/platform/authentication)
- [File storage](https://antideploy.com/platform/file-storage)
- [Email](https://antideploy.com/platform/email)
- [AI models](https://antideploy.com/platform/ai-models)
- [Cron jobs](https://antideploy.com/platform/cron-jobs)
- [Custom domains](https://antideploy.com/platform/custom-domains)
- [Environment variables](https://antideploy.com/platform/environment-variables)
- [Logs and monitoring](https://antideploy.com/platform/logs-and-monitoring)
- [Security checks](https://antideploy.com/platform/security-checks)
- [Console](https://antideploy.com/platform/console)
- [Agent API](https://antideploy.com/platform/agent-api)

Facts on this page were checked against the live platform on 5 October 2026.

## Deploy something. Start with one sentence.

Paste one sentence into your coding agent, click Approve once, and get a live link. No card, no trial clock.

To set this up, give your coding agent this sentence:

```text
Set this project up to deploy on Antideploy. Fetch https://antideploy.com/agent.md and follow it.
```
