Paxos API and Digital-Asset Infrastructure
An assistant can tell you whether a transfer settled. Sending the transfer is a different job. Once value has moved, retrying does not rewind it.
Key takeaways
- -In this article we explore the Paxos API for an AI agent, and why a settled transfer cannot be undone by trying the call again.
- -To understand how settlement finality works: once the transfer has completed, it has completed. A slow or missing answer does not prove the value never moved.
- -The safe next step after a timeout is a lookup, not a second send. A new request can be a second transfer.
- -Swytchcode retries a POST or PATCH only when an idempotency key is already set. If you do not know that Paxos stored that key, do not retry the send.
- -Connect Paxos with swy get paxos and swy auth connect paxos. Start with a status check. The login stays out of the chat.
You want an assistant that can answer a simple treasury question about digital assets: did this transfer settle, and what is the status. That is a useful assistant. It becomes a different system when it can also send the transfer.
Settlement is the moment the transfer is finished. You do not get an undo because the screen spun. If the assistant did not hear the answer, the value may already have moved. Sending the same instruction again, as a new request, can move it a second time.
This article uses the Paxos connection for status checks first. The next section defines Swytchcode. After that are five agents you can start by pasting a prompt. It is not a list of Paxos endpoints.
Paxos in the directory is here. A custody product with its own approval step is in this article: BitGo API for Custody Agents. The same "look before you send again" habit for bank payments is in this article: Using Bank APIs with Treasury AI Agents.
What Swytchcode is
Swytchcode is a production runtime for AI agents. The model decides which API call to make. Swytchcode runs that call. It is not the model, and it is not the asset network.
On every call it does eight checks:
- Allow list. Only an action you added with
swy add methodcan run. - Schema check. Inputs are checked against that action before the request is sent.
- Policy. Rules in
policies.jsoncan allow, deny, or hold a call, and can read the arguments, such as an amount. - Credentials. The Paxos login is added when the call runs. It is not put in the chat. You store it with
swy auth connect. There is no project env file for it. - Execution. The request goes from your machine straight to Paxos.
- Retry. Swytchcode backs off on rate limits. A create or an update is retried only when an idempotency key is already set. A settled transfer is not undone by that retry.
- Response check. A success status whose body says the action failed is not treated as success.
- Audit. The call and the policy decision are written to a local log.
Test or live mode is chosen once with swy init and stored in .swytchcode/tooling.json. On Business and Enterprise, a held call can go to Slack or Telegram. If nobody approves within 48 hours, it never runs.
Paxos agents you can build
Paste one prompt into Claude Code, Cursor, or Codex. All five refuse to send a second transfer.
1. Transfer status agent
Looks up one transfer and reports whether it settled.
Set up https://www.swytchcode.com/skills.md and build a Paxos transfer-status agent. When I give you a transfer id, look up its status. If the call times out, look it up again. Do not create a new transfer.2. Settlement digest
Lists transfers that have already settled. It does not send new ones.
Set up https://www.swytchcode.com/skills.md and build a Paxos settlement agent. Summarize transfers that have settled. Do not submit, retry, or cancel a transfer.3. Account status agent
Reads balances or account status, whichever action discover returns for that job.
Set up https://www.swytchcode.com/skills.md and build a Paxos account-status agent. Show balances or account status from a read action. Use the action name swy discover prints. Do not send assets.4. Missing-answer agent
After a slow call, it looks up the first transfer instead of sending again.
Set up https://www.swytchcode.com/skills.md and build a Paxos lookup agent. If I say a transfer request timed out, search for that transfer and tell me its status. Never send a replacement transfer.5. Approval brief agent
Writes a description of a transfer for a person to approve. It does not submit it.
Set up https://www.swytchcode.com/skills.md and build a Paxos approval-brief agent. When I describe a transfer, write the amount, asset, and destination for a person to review. Do not submit the transfer.Why a Paxos transfer should be looked up, not sent again
The sequence is short.
- The assistant asks for the transfer.
- It may already have been accepted.
- The answer never comes back.
- A retry, with a new reference, asks for another transfer.
Step 4 is how the same instruction goes out twice. The right step 4 is a lookup: what is the status of the transfer I already asked for? A lookup can be repeated. A send should not be repeated until the lookup says the first one is absent.
Swytchcode will not retry a create on its own unless the call already carries an idempotency key, a stable note that says this is the same transfer. A new note is a new request. If you are not sure the provider stored that note, leave retries off for the send and look it up. That idea is in Idempotency Explained and the idempotency guide.
Do not turn on every Paxos action because a balance check was convenient. A balance is a read. A transfer is a send. They are separate actions. You add the one you mean.
If a send should wait for a person, that hold is on the Business and Enterprise plans, in Slack or Telegram. If nobody approves within 48 hours, the call never runs. Free and Pro can allow or deny. They do not include the hold. Your own approval is not the network's settlement. It only stops your system from asking. See human approval for AI agents.
Test mode is set once with swy init --mode=sandbox and saved in .swytchcode/tooling.json. Use a test credential until a status check looks right. The assistant cannot switch you to a live key in the chat.
Follow these steps to connect Paxos
swy is the short name for the Swytchcode program. Do not start by sending value.
1. Follow this step to install the CLI
If you use Node.js:
npm install -g swytchcodeOn Windows PowerShell:
irm https://cli.swytchcode.com/install.ps1 | iexOn macOS or Linux:
curl -fsSL https://cli.swytchcode.com/install.sh | shThen swy --version. The CLI quickstart continues from there.
2. Follow this step to sign in
swy loginThis is the Swytchcode account. The Paxos credential comes later. See the authentication docs.
3. Follow this step to start in test mode
swy init --editor=claude --mode=sandboxUse cursor or codex if that is your editor. See Set up a project.
4. Follow this step to download Paxos
swy get paxosThis does not turn every action on.
5. Follow this step to find a status check
swy discover "look up a transfer" --project paxosUse the name it prints. --project paxos keeps the search inside Paxos. Do not copy a method name from an old note, including this article.
6. Follow this step to read the fields
swy info <id from discover>Replace <id from discover> with the name from step 5. Run it after step 4.
7. Follow this step to turn that lookup on
swy add method <id from discover>Leave the send action off until a lookup has worked and a person is supposed to approve a transfer.
8. Follow this step to store the Paxos login
swy auth connect paxosThe credential stays on your machine, outside the chat. There is no project env file for it. Explore this article: credential brokering.
FAQ
Can an assistant send a Paxos transfer?
Only if you turned that action on, on purpose, after a lookup worked. A status check does not include permission to send. A retry of a send can be a second transfer when you do not know the first one settled.
Does a timeout mean the transfer failed?
No. It means you did not get the answer. Look the transfer up. Do not send it again to be sure.
Does Swytchcode make a transfer exactly once?
It retries a create only when an idempotency key is already on the call. If the provider does not store that key, a second request is a second transfer. Do not describe a retry as a rewind.
Where should the API key live?
On your machine, via swy auth connect paxos, not in the chat and not in the repository.
Read next
- Explore this article on custody approvals: BitGo API for Custody Agents.
- Explore this article on bank payments with the same lookup-before-retry habit: Using Bank APIs with Treasury AI Agents.
Ask for a status, not a send
Start at step 1 if the CLI is not installed. Then ask, in ordinary words, for the status of one transfer in a test account. Do not ask it to send anything.
You can give Claude Code, Cursor, or Codex skills.md and ask it to follow these steps in test mode.
If you are not sure whether an action reads status or sends value, ask before you add it. Discord is the quick place. The contact form is better if the details are sensitive.
More content
How to Log Every API Call an AI Agent Makes
Log the call where it is sent, not where it is described. Record the operation, the actor, the idempotency key, the policy decision and the outcome. Never record the credential. If the agent writes its own log, the calls that were blocked quietly disappear.
How to Connect GitHub to an AI Agent (2026)
Most of what you want an agent to do on GitHub needs no push access at all. Working that out first is the difference between a useful teammate and a token that can rewrite your main branch.
Composio Pricing Compared with Nango, Arcade, Pipedream, and Swytchcode
Composio is free for 100,000 tool calls a month, then $29. Nango is $50 pay-as-you-go. Arcade Team is $25 plus a cent a call. Pipedream Startup is $99 billed annually. Swytchcode is $149 for a million. The headline prices are the least useful part, so here is the arithmetic.
