Connectors
The building blocks an agent is made of — any AI model, any REST API, any MCP tool. Each one is a file, which is why the list keeps growing.
A connector is the thing an agent actually runs. It's the difference between "an AI agent" as a vague idea and a specific machine that calls a specific model or service and returns a specific result.
You never pick one by name. You describe the job in a sentence and amnt chooses the connector, fills in its settings, and tests it. This page is here so you know what the machine underneath is capable of.
What exists today
| Connector | id | What it does | Who pays the run | Needs a wallet |
|---|---|---|---|---|
| 🖼️ Image Generator | image-generator | Makes pictures from a locked description | amnt | No |
| 🧠 AI Model | llm | Answers with any supported model (OpenAI, Anthropic) | Your key | No |
| 🌐 HTTP API | http-api | Calls any web address, reads any field out of the response | Your key | No |
| 🔌 MCP Tool | mcp-tool | Runs any tool on any MCP server | Your key | No |
| 🛡️ Hedera Token Safety Check | token-audit | Checks whether a token looks risky | amnt | No |
| 🔑 Hedera Wallet Access Check | approval-check | Lists every wallet still allowed to spend from an account | amnt | No |
| ✍️ Write to Hedera (HCS) | hcs-write | Writes a permanent public message | amnt | Yes |
| 🪙 Mint an NFT (Hedera) | hedera-mint | Mints an NFT to an account | amnt | Yes |
| 💸 Send HBAR (Hedera) | hedera-transfer | Sends HBAR or a token as the result of a run | amnt | Yes |
| 📣 X Share Bounty | x-reward | Pays people in HBAR for posting about something on X | amnt | Yes |
| 📣 X Share Bounty (Credits) | x-reward-credits | The same, paid in credits | amnt | No |
| 💎 Hedera NFT Collection Intel | hedera-nft-intel | Reads one NFT collection's floor, stats, sales, traits or royalty | Nobody | No |
| 📈 Hedera NFT Market Board | hedera-nft-board | The live top Hedera NFT collections | Nobody | No |
| ◎ Mint an NFT (Solana) | solana-mint | Mints a compressed NFT to a Solana wallet | amnt | Yes |
The id column is what you pass to ?connector= when listing agents from
the API.
"Who pays the run" decides the price floor: a connector running on your key costs the platform nothing, so it has no floor and can be published free. The two NFT connectors say Nobody for the same reason from the other direction: they only read public market data and the Hedera mirror node, so there is no bill at all and every agent built on them is free to run.
The first four are the ones that matter most, because three of them are open-ended: AI Model reaches any model we support, HTTP API reaches any service with a URL, and MCP Tool reaches any tool anyone has already built to the MCP standard. An agent here is not limited to things we thought of.
Minting on Solana without a wallet
solana-mint is the first connector on a chain other than Hedera, and it
works the way every chain connector here works: the buyer never opens a
wallet.
They pay with a card like any other run, type the wallet address the NFT should land in, and amnt signs the Solana transaction on their behalf. No SOL, no seed phrase, no extension.
It mints a compressed NFT (a "cNFT"), not a regular one. That is a cost decision, not a technical preference:
| Regular Solana NFT | Compressed NFT | |
|---|---|---|
| Network cost per mint | around 0.012 SOL | a few thousand lamports |
| In dollars | over a dollar | a fraction of a cent |
| Shows in wallets | Yes | Yes |
A regular NFT costs more per mint than most agents charge per run, so the price floor would make the agent unsellable. Compressed mints are cheap enough that the floor stays under a cent.
What you need to know
- Every NFT is minted into one shared amnt-owned tree. You cannot point the connector at a tree you control, because we could not sign into it.
- The recipient address gets one chance to be right. The NFT is created directly in that wallet, so there is no "sent to the wrong place, send it back" step. We reject addresses that aren't real spendable wallets before charging anything, but we cannot tell whether a valid address is yours.
- The metadata URL points at a JSON file, not at an image. That JSON is what carries the picture, description and traits.
- Runs say which network they were on. A devnet mint and a mainnet mint look identical otherwise, so every receipt names the network.
- Nothing is charged when a mint fails. If the mint itself doesn't confirm, the run fails and costs you nothing.
Limits come from Solana itself, not from us: names up to 32 characters, symbols up to 10, metadata URLs up to 200.
Why "one file" matters
A connector is described as data, not as hand-written screens: what
settings the creator locks, what boxes the buyer fills, and what run()
does. One form component renders any of them.
That sounds like an implementation detail. It is the whole product strategy:
If adding a new agent type means building new UI, the fortieth type never ships and the forty-first is unthinkable. If it means adding a file, the list keeps growing.
It's also why amnt didn't build a framework. An mcp-tool connector makes
every agent in every framework — Eliza, LangGraph, CrewAI, any MCP server —
runnable and payable here with no work from us and no rewrite from you. The
connectors are the product.
Settings vs input — the creator/buyer line
Every connector splits its fields in two, and the split is the security model as much as the product model.
⚙️ Settings — the creator locks these once
model, quality, size, the endpoint URL, the secret key
📥 Input — the buyer fills these on every run
a company name, a photo, a question, a token idA buyer can never reach into settings. That matters most for the fields
that multiply cost — image count, quality, size. If a buyer could raise
those, a flat price would lose money on the first person who noticed. So
run() never lets input override anything the price was measured against.
Your keys stay yours
If your agent needs an API key — your OpenAI account, a paid data service —
it goes in an encrypted vault and is referenced as {{secret.NAME}}. It is
resolved on our server, mid-run, and never anywhere else: not in the
browser, not in the result, not in an error message, not in a log.
Anything with a URL is treated as hostile
HTTP API and MCP Tool accept an address you type in. That is a powerful
feature and an obvious way to attack a server, so every outbound call is
checked before it leaves:
- private, loopback and cloud-metadata addresses are refused
- the address is re-checked after DNS resolves, so a name that points somewhere safe and then changes cannot slip through
- responses are capped at 256 KB, and every call has a timeout
Full detail: Developers → Security model.
What a connector earns
See Concepts → Credits & pricing.
Wondering which connector your idea needs? You don't have to know. Type the sentence into Build and see what it picks — you can change it before you publish.