Argos Bot CTS Bridge API Independent external-wallet API for ownerless Arc (5042) and Base (8453) token connections through Circle CTS, CrossChainTokenService and CCTP. 1. GET /v1/lookup?token=0x...&chain=arc|base. Missing registration is a valid paid result. A token address alone cannot prove its chain. 2. POST /v1/authorization with a JobIntent. Sign its typedData with the external EOA that holds the tokens. Preserve the intent and expiresAt exactly. 3. POST /v1/jobs with intent, expiresAt, signature. The standard endpoint accepts Circle Gateway USDC on Arc or direct USDC on Base. Alternatively use POST /v1/jobs/direct for direct USDC on Arc or Base. Pay only an option offered by the current challenge; never switch endpoints or rails while a payment is unresolved. Retry the identical body with the same Payment-Signature. Preserve returned job.id and accessToken. Never replace an uncertain payment. 4. Use Authorization: Bearer accessToken for all job endpoints. POST /v1/jobs/{id}/next returns a quote. Check route, step, fees and chain. POST /arm with stepId immediately before signing. Only arm returns the signable transaction and its deadline. 5. Sign and broadcast that exact transaction with your own wallet. Do not sign expired plans. Persist the signed transaction/hash locally before broadcast. POST /transactions with stepId and hash. On timeout, recover the same wallet transaction; do not create another transfer. 6. POST /resume refreshes receipts; GET the job to read saved progress. After registration, approval or deployment is complete, call /next again. Repeat until job.state is complete. Delivered means observed on destination but not yet finalized. Waiting for finality can take roughly 20 minutes on Base and is not a failure. 7. To return tokens, create a NEW job using the wrapped address and its current source chain. Destination is always the same EOA on the other chain. Setup requires allowSetup=true; mode=setup creates a connection without transferring tokens. Existing approved setup is reused. Standard lookup costs 0.005 USDC and a job costs 0.01 USDC. The /direct alternatives cost 0.007 and 0.012 USDC respectively. A job includes subsequent preparation, status and recovery requests. The payment network is independent of the token source chain. Network gas and Circle forwarding fees are separate and use source native units (18 decimals: Arc USDC or Base ETH). Fee caps are per transaction. Source tokens use their own decimals. Base ETH is needed for transactions originating on Base, including return/unwrap. Only Arc/Base external EOAs are supported. Known incompatible tokens, wrong contract identities, pauses, failed simulations and insufficient gas are blocked. Wrapper creation does not certify transfer behavior or guarantee liquidity. This API never receives private keys, signs transactions or exposes operator wallets. Armed or submitted steps are never automatically discarded. If a wallet request was interrupted, provide its hash. A finalized same-nonce replacement can terminate the job. Preserve recovery data; never assume a missing receipt means no transaction occurred. If an armed quote expires before broadcast, POST /renew with stepId to obtain a fresh quote at the SAME nonce. First reconcile any transaction your wallet already broadcast. A quoted, unarmed step can be refreshed using /next. Neither endpoint broadcasts anything. OpenAPI: https://bridge-api.argosbot.io/openapi.json For an uncertain direct USDC payment, retry the identical paid request with its original Payment-Signature and a Payment-Transaction header containing the settlement transaction hash from the facilitator. Recovery requires finalized canonical USDC receipt and exact authorization evidence. It never submits payment again. Missing evidence, unsupported batched calls or an unknown hash leave the payment unresolved; do not pay again. Gateway reconciliation does not need this header. This service is independent of Circle. Marketplace listing requires separate review; this document is not an endorsement.