# Aurea API Docs > Welcome to the **Aurea API** — a backend platform for authentication, cross-chain wallet management, and multi-chain transaction processing. Aurea supports both **custodial wallets** (for regulated entities) and **non-custodial wallets** (for everyone), and is compatible with any blockchain network and token in the market upon request. Build powerful Web3 applications with a simple, REST-based interface. All pages in one Markdown file: https://docs.aureahub.com/llms-full.txt ## Getting Started - [Introduction](https://docs.aureahub.com/docs/introduction.md): Welcome to the **Aurea API** — a backend platform for authentication, cross-chain wallet management, and multi-chain transaction processing. Aurea supports both **custodial wallets** (for regulated entities) and **non-custodial wallets** (for everyone), and is compatible with any blockchain network and token in the market upon request. Build powerful Web3 applications with a simple, REST-based interface. - [Authentication](https://docs.aureahub.com/docs/authentication.md): The Aurea API uses two credentials: a **tenant API key and secret**, used to sign requests with HMAC-SHA256, and a **user access token** (JWT), sent as a bearer token. - [Quick Start](https://docs.aureahub.com/docs/quickstart.md): Register a user, create a wallet, then send a first transaction and follow it to a final status. - [Error Handling](https://docs.aureahub.com/docs/errors.md): Errors come back as JSON with an HTTP status code. Most use a common envelope; this page covers the envelope, the documented exceptions, and how to handle both. - [Supported Blockchains](https://docs.aureahub.com/docs/supported-blockchains.md): Chains are configured per deployment and per tenant. Ask the API which ones your tenant can use instead of relying on a fixed list. - [Rate Limiting](https://docs.aureahub.com/docs/rate-limiting.md): Some sensitive routes are rate-limited. There is no global limit, and there are no plans or tiers. ## Conventions - [Amount Units](https://docs.aureahub.com/docs/amounts.md): How the API expects and returns token and fiat amounts. - [Pagination](https://docs.aureahub.com/docs/pagination.md): List endpoints don't share a single pagination style — check the table below for the parameters and response shape of each one. - [Idempotency](https://docs.aureahub.com/docs/idempotency.md): The routes that move funds, and the bank ramp endpoints that create something, take an `Idempotency-Key` header. Everywhere else, know what repeating a call does before you retry it. - [Enums & State Machines](https://docs.aureahub.com/docs/enums-states.md): The status values the API returns, and how a resource moves between them. - [Webhooks](https://docs.aureahub.com/docs/webhooks.md): Aurea sends webhooks for Agent Payments, the bank ramp and the card onramp. For wallets, transactions and swaps, read the state through the API. - [Signing Primitives](https://docs.aureahub.com/docs/signing.md): Every cryptographic signature Aurea asks the client to produce, with a copy-pasteable TypeScript example. - [Versioning](https://docs.aureahub.com/docs/versioning.md): There is one API version, `v1`, and it is part of the path. ## Guides: Wallets - [User Onboarding](https://docs.aureahub.com/docs/guide-user-onboarding.md): Take a new user from sign-up to a first wallet. Which wallet flow you run is set by your tenant's wallet mode — it is not a per-user choice. - [Accounts](https://docs.aureahub.com/docs/guide-accounts.md): Group a customer's wallets under your own reference for that customer, find the account behind any address of your tenant, and create thousands of accounts at once. - [Non-Custodial Key Lifecycle](https://docs.aureahub.com/docs/guide-non-custodial-keys.md): How a wallet key ends up only on the user's device — by registering a client-side wallet, or by migrating a server-custodial wallet — and what the server keeps at each stage. - [Sending a Transaction](https://docs.aureahub.com/docs/guide-send-transaction.md): Custodial, non-custodial and gasless sends — one endpoint to start, and at most one more to finish. - [Operations and Fees](https://docs.aureahub.com/docs/guide-operations.md): One public state machine for everything that moves funds, beside the transactions you already read — and the fee levels, spendable amounts and address checks to prepare a send. - [Token Swaps](https://docs.aureahub.com/docs/guide-swap.md): Every swap starts with a quote. What happens next depends on the source chain, on who holds the wallet key, and on whether the pair qualifies for the gasless flow. - [DApps Browser](https://docs.aureahub.com/docs/guide-dapps.md): Back an in-app dApp browser with Aurea: the tenant's dApp catalogue, EIP-191 message signing, nonce and gas lookups, and raw-transaction relay. ## Guides: Bank Ramp - [Bank Ramp Setup](https://docs.aureahub.com/docs/bank-setup.md): What has to be in place before your app offers the bank ramp — EUR bank transfers to stablecoins and back — and how your app checks it. - [Bank Pay-In](https://docs.aureahub.com/docs/guide-fiat-payin.md): Take a user from zero to money in: bank ramp onboarding (KYC), then a virtual IBAN for bank transfers. - [Pay-In to Your Own Address](https://docs.aureahub.com/docs/guide-standalone-payin.md): Deliver a user's bank transfers to a wallet they already own — MetaMask, Phantom, a hardware wallet — without an Aurea wallet. - [Bank Payout](https://docs.aureahub.com/docs/guide-fiat-payout.md): Let a user convert crypto into fiat on their bank account through the bank ramp's hosted payout page. Payouts currently run only in the bank ramp's sandbox (`isTestnet: true`); production requests are refused. - [Payout from a Wallet](https://docs.aureahub.com/docs/guide-wallet-payout.md): Turn a user's crypto into money on a bank account, paid from a wallet **they** control — Aurea never holds it and never sends it for them. - [Payout from Your Own Address](https://docs.aureahub.com/docs/guide-standalone-payout.md): Let a user turn crypto into money on a bank account from a wallet Aurea has never held a key for — MetaMask, Phantom, a hardware wallet. ## Guides: Card Onramp - [Card to Crypto](https://docs.aureahub.com/docs/guide-card-onramp.md): Your users pay by card and receive crypto in their wallet. Aurea's card onramp runs the payment page, the KYC, the card payment and the delivery on chain, with a payment provider as merchant of record; you choose where the crypto goes and hear what happened. - [For Your Own Wallets](https://docs.aureahub.com/docs/guide-card-onramp-wallets.md): For a tenant that already holds its users' wallets and wants only the card onramp: your server names each end user by your own id, gives the wallet the crypto goes to, and opens the purchase. Aurea runs the payment page, the KYC, the card payment and the delivery to that wallet. ## Guides: Earn - [Earn](https://docs.aureahub.com/docs/guide-earn.md): Yield products for your users' stablecoins: a deposit from the user's own wallet, a position that grows with a variable rate, and a withdrawal back to the same wallet — through one API, whatever product serves it. ## Guides: Events & Testing - [Events to Your Server](https://docs.aureahub.com/docs/guide-events.md): Aurea tells your server when the bank ramp changes a user's KYC, a deposit, a transaction or a payout, and when a card onramp session changes status: a signed `POST`, retried until your server takes it — to one webhook per environment, and to up to ten endpoints per environment, each with the event types it asks for. - [Sandbox Playbook](https://docs.aureahub.com/docs/guide-sandbox-playbook.md): Run the fiat flows end to end against the bank ramp's sandbox before going live. - [Build with an AI Agent](https://docs.aureahub.com/docs/build-with-ai.md): Everything an AI coding agent needs to integrate Aurea: where the machine-readable docs are, the rules every call follows, and the order of the calls for each service. ## Guides: Security & Governance - [Server Credentials](https://docs.aureahub.com/docs/guide-server-credentials.md): Sign your server's calls with a key pair your server holds instead of the API secret: register the public key once, then send each request with a short-lived ES256 token. - [Two-Factor Sign-In](https://docs.aureahub.com/docs/guide-two-factor.md): A second factor at sign-in for the accounts that run your tenant: an authenticator app's six-digit code after the password, and ten recovery codes for the day the phone is lost. - [Freezes & Quarantines](https://docs.aureahub.com/docs/guide-freezes.md): Stop a user's account or a wallet at once, on every server, and hold one pending operation before it is signed — until someone lifts it. - [Policy Sets](https://docs.aureahub.com/docs/guide-policy-sets.md): Write your tenant's signing policy as versions — ordered rules with a verdict each —, check them, try them on your own history, and publish one through a second administrator. On the institutional security profile, the active set decides every signature. - [Groups](https://docs.aureahub.com/docs/guide-groups.md): Name a set of your tenant's users once — "Treasury signers", "Finance approvers" — and let your policy rules name the group instead of each person. - [Approvals](https://docs.aureahub.com/docs/guide-approvals.md): When your tenant's policy asks for an approval, the money route answers `202` and holds the operation — nothing signed or sent — until the rule's approvers approve it, each with a signature of their own key. Then it goes on as the call would have. - [Address Book](https://docs.aureahub.com/docs/guide-address-book.md): Keep the addresses your tenant's operations may send to: each added under an approval, active only after a cooling period, an external one proven by its owner if you ask for it. Where Aurea enables it for your tenant, an operation to an address outside the book is refused before anything is signed. - [Signing Rules](https://docs.aureahub.com/docs/guide-signing-rules.md): What Aurea checks before it signs for your tenant: which messages a wallet may sign, approvals for the exact amount with nothing left over, swaps signed from the route Aurea quoted, and each transaction simulated before it leaves. - [Your Tenant's Quorum](https://docs.aureahub.com/docs/guide-tenant-quorum.md): Four eyes on your administrators' sensitive actions: a change to users and roles, credentials and secrets, or custody waits — nothing done — until another administrator of your tenant approves it with their password. - [Data Residency](https://docs.aureahub.com/docs/guide-data-residency.md): Aurea Hub runs in Microsoft Azure's Italy North region, in Milan. Every copy of your data that Aurea keeps stays in the European Union. ## Agentic Payments - [Overview & SDK](https://docs.aureahub.com/docs/agentic-payments.md): AI agents that transact within policy. Two products on one API: a shopper-facing commerce **widget** (Product A) you embed in a store, and an in-account **treasury agent** (Product B) that pays a merchant's own suppliers and payouts on instruction — every payment bounded by a spend policy and an approval threshold. - [API Reference](https://docs.aureahub.com/docs/agentic-api.md): All 52 endpoints under `https://api.aureahub.com/v1/agent-payments` you can call. Unless noted, every route requires a tenant-admin JWT. The shopper-facing commerce routes also accept a scoped merchant API key; the only unauthenticated route is the payment provider's own callback, which you never call. ## API Reference: Health - [Health Check](https://docs.aureahub.com/docs/health-check.md): GET /health. Lightweight liveness probe for the Aurea API — use to verify the service is reachable before starting a flow. ## API Reference: Auth - [Register](https://docs.aureahub.com/docs/auth-register.md): POST /v1/auth/register. Create a user with username, email and password, and receive an access token, a refresh token and the user profile in the same response. A wallet can be created or imported in the same call. - [Login](https://docs.aureahub.com/docs/auth-login.md): POST /v1/auth/login. Sign in an existing user with username and password and receive an access token, a refresh token and the user profile. - [Refresh Token](https://docs.aureahub.com/docs/auth-refresh.md): POST /v1/auth/refresh. Exchange a refresh token for a new access token without asking the user to sign in again. - [Google Sign-In](https://docs.aureahub.com/docs/auth-google.md): POST /v1/auth/google. Exchange a Google ID token for Aurea tokens. The matching user is signed in, or a new user is created on first use. - [Apple Sign-In](https://docs.aureahub.com/docs/auth-apple.md): POST /v1/auth/apple. Exchange a Sign in with Apple identity token for Aurea tokens. The linked user is signed in, or a new user is created on first use. - [Forgot Password](https://docs.aureahub.com/docs/auth-forgot-password.md): POST /v1/auth/forgot-password. Native, email-based password reset. A user requests a link, opens it, and sets a new password — with single-use tokens, anti-enumeration, and invalidation of earlier refresh tokens. - [Log Out](https://docs.aureahub.com/docs/auth-logout.md): POST /v1/auth/logout. End a session on the server: the refresh token you send is revoked, and it can no longer be exchanged for an access token. ## API Reference: Two-Factor Sign-In - [Your Second Factor](https://docs.aureahub.com/docs/mfa-status.md): GET /v1/auth/mfa. Whether your account is asked a second factor at sign-in, and what it has enrolled. - [Enrol an App](https://docs.aureahub.com/docs/mfa-totp-start.md): POST /v1/auth/mfa/totp. A new secret for an authenticator app, shown once. It becomes your second factor once its first code is confirmed. - [Confirm the App](https://docs.aureahub.com/docs/mfa-totp-confirm.md): POST /v1/auth/mfa/totp/confirm. The enrolment's first code: the app becomes your second factor, and your ten recovery codes are shown — once. - [New Recovery Codes](https://docs.aureahub.com/docs/mfa-recovery-codes.md): POST /v1/auth/mfa/recovery-codes. Ten new recovery codes; the old ones stop working. - [Remove the App](https://docs.aureahub.com/docs/mfa-totp-remove.md): DELETE /v1/auth/mfa/totp. Your second factor and its recovery codes go; the next sign-in asks only the password. - [Sign In: Second Step](https://docs.aureahub.com/docs/mfa-verify.md): POST /v1/auth/mfa/verify. After the password, the code: the answer is the login's, with the tokens. - [Reset a User's Factor](https://docs.aureahub.com/docs/mfa-reset.md): DELETE /v1/admin/tenants/{tenantId}/users/{userId}/mfa. A user lost their phone and their recovery codes: an administrator removes their authenticator app, and they enrol a new one. ## API Reference: Users - [Get My Profile](https://docs.aureahub.com/docs/users-me.md): GET /v1/users/{id}. Read the signed-in user's own profile. - [Update My Profile](https://docs.aureahub.com/docs/users-me-update.md): PATCH /v1/users/me. Update the authenticated user's username and/or display name. - [List Users](https://docs.aureahub.com/docs/users-list.md): GET /v1/users/. Retrieve a paginated list of all users in the tenant. Primarily used in admin and back-office dashboards. - [Create User](https://docs.aureahub.com/docs/users-create.md): POST /v1/users/. Programmatically create a new user from your server — distinct from the self-registration flow. - [Get User](https://docs.aureahub.com/docs/users-get.md): GET /v1/users/{id}. Retrieve the full profile of a specific user by their UUID. - [Update User](https://docs.aureahub.com/docs/users-update.md): PUT /v1/users/{id}. Change a user's email address or password. At least one of the two. - [Delete User](https://docs.aureahub.com/docs/users-delete.md): DELETE /v1/users/{id}. Deactivate a user account. This is a soft-delete — data is retained but the user can no longer authenticate. - [Search Users](https://docs.aureahub.com/docs/users-search.md): GET /v1/users/search. Find users by username — the primary lookup for peer-to-peer payment flows. - [Advanced Search](https://docs.aureahub.com/docs/users-advsearch.md): GET /v1/users/advanced-search. Look up users by wallet address, wallet UUID, or username — built for admin tools and dispute resolution flows. - [Update FCM Token](https://docs.aureahub.com/docs/users-fcm.md): PATCH /v1/users/me/fcm-token. Register or update a Firebase Cloud Messaging (FCM) device token so the user receives push notifications for transactions and alerts. - [Generate QR Code](https://docs.aureahub.com/docs/users-qr.md): GET /v1/users/{id}/qr-code. Get a payment QR code for a user — encodes a deep link that pre-fills a send form with the recipient's username and tenant. - [List User Wallets](https://docs.aureahub.com/docs/users-wallets.md): GET /v1/users/{id}/wallets. Retrieve all wallets owned by a specific user, across all supported blockchains. ## API Reference: Wallets - [Create Wallet](https://docs.aureahub.com/docs/wallets-create.md): POST /v1/wallets/. Generate a new blockchain wallet for the authenticated user — either custodial (key managed by Aurea) or non-custodial (user-controlled key). Wallets are cross-chain and any network or token can be supported upon request. - [List Wallets](https://docs.aureahub.com/docs/wallets-list.md): GET /v1/wallets/. Retrieve all wallets owned by the authenticated user, with optional chain filtering. - [Import Wallet](https://docs.aureahub.com/docs/wallets-import.md): POST /v1/wallets/import. Bring an existing self-custodied wallet into Aurea's managed system using a private key or mnemonic phrase. - [Get Wallet](https://docs.aureahub.com/docs/wallets-get.md): GET /v1/wallets/{id}. Retrieve the details of a specific wallet by its UUID. - [Delete Wallet](https://docs.aureahub.com/docs/wallets-delete.md): DELETE /v1/wallets/{id}. Remove a wallet from the user's account. The primary wallet cannot be deleted. - [Get Balance](https://docs.aureahub.com/docs/wallets-balance.md): GET /v1/wallets/{id}/balance. Retrieve the native coin and all token balances for a specific wallet, with optional testnet support. - [Aggregate Balances](https://docs.aureahub.com/docs/wallets-aggregate.md): GET /v1/wallets/balances/aggregate. Get a consolidated portfolio view — total value across all wallets and chains, broken down by asset and chain. - [Set Primary Wallet](https://docs.aureahub.com/docs/wallets-primary.md): PATCH /v1/wallets/{id}/primary. Mark a wallet as the user's primary wallet for its chain and network type (mainnet or testnet). - [Non-Custodial Challenge](https://docs.aureahub.com/docs/wallets-client-challenge.md): GET /v1/wallets/client/challenge. Get a one-time challenge that proves the user controls the private key of a wallet generated on their device — step 1 of registering a client-side (non-custodial) wallet. - [Register Client Wallet](https://docs.aureahub.com/docs/wallets-client-register.md): POST /v1/wallets/client. Create a non-custodial wallet whose private key stays on the user's device. Aurea verifies the signed challenge and stores only the address. - [Confirm Client Custody](https://docs.aureahub.com/docs/wallets-confirm-custody.md): POST /v1/wallets/confirm-client-custody. Final step of migrating a server-custodial wallet to client-side custody: prove the device holds the exported key, and the server removes its own copy. - [Register Device Key](https://docs.aureahub.com/docs/wallets-register-device.md): POST /v1/wallets/register-device. Attach a device public key to a wallet, authorised by a signature from the wallet's own private key. - [Request Export Token](https://docs.aureahub.com/docs/wallets-export-token.md): POST /v1/wallets/request-export-token. Start migrating a server-custodial wallet to client-side custody: re-confirm the user's password and receive a one-time export token. - [Export Encrypted Key](https://docs.aureahub.com/docs/wallets-export-key.md): POST /v1/wallets/export-key. Step 2 of key migration: receive the wallet's private key encrypted to an ephemeral X25519 key generated on the device. - [Migration Challenge](https://docs.aureahub.com/docs/wallets-migration-challenge.md): GET /v1/wallets/migration-challenge. Get a one-time challenge to sign with an existing wallet's private key — consumed by Confirm Client Custody or Register Device Key. - [Cancel Migration](https://docs.aureahub.com/docs/wallets-cancel-migration.md): POST /v1/wallets/cancel-migration. Abort a key migration before the key has been exported, returning the wallet to server custody. - [Set Primary (atomic)](https://docs.aureahub.com/docs/wallets-set-primary.md): PATCH /v1/wallets/{id}/set-primary. Promote a wallet to primary and demote the user's other primary wallets on the same network type in a single database transaction. No request body. ## API Reference: Accounts - [List Accounts](https://docs.aureahub.com/docs/accounts-list.md): GET /v1/accounts. Your tenant's accounts, newest first: those you created, and each user's default account while it holds a wallet or once it was written to. - [Create an Account](https://docs.aureahub.com/docs/account-create.md): POST /v1/accounts. An account of your tenant, with your reference for the customer, a name, tags and its users. It holds no wallet yet. - [Get an Account](https://docs.aureahub.com/docs/account-get.md): GET /v1/accounts/{accountId}. One account with its users and wallets. A user's id reads that user's default account. - [Change an Account](https://docs.aureahub.com/docs/account-update.md): PATCH /v1/accounts/{accountId}. Its name, tags, visibility and users, and its `customerRefId` once. - [Add a Wallet](https://docs.aureahub.com/docs/account-wallet-add.md): POST /v1/accounts/{accountId}/wallets. Have Aurea make the account's wallet on a chain, or put one of its owner's wallets in it. - [Find by Address](https://docs.aureahub.com/docs/account-lookup.md): GET /v1/accounts/lookup. The reverse lookup: the account — and your reference for its customer — of each of your tenant's wallets at an address. - [Create in Bulk](https://docs.aureahub.com/docs/accounts-bulk-create.md): POST /v1/accounts/bulk. Up to 10,000 accounts in one request, each with your reference for its customer, and optionally a wallet on each chain you list. - [List Bulk Creations](https://docs.aureahub.com/docs/accounts-bulk-list.md): GET /v1/accounts/bulk. Your tenant's bulk creations of accounts, newest first, with their counts. - [Bulk Creation Report](https://docs.aureahub.com/docs/accounts-bulk-get.md): GET /v1/accounts/bulk/{jobId}. A bulk creation, its counts, and each of its accounts in the order of the request. ## API Reference: MPC Wallets - [MPC Config](https://docs.aureahub.com/docs/mpc-config.md): GET /v1/mpc/config. Discover whether MPC (threshold-signature) wallets are enabled for the tenant and whether the current user already has an MPC wallet provisioned. - [Start DKG Ceremony](https://docs.aureahub.com/docs/mpc-dkg-start.md): POST /v1/mpc/wallets/dkg/start. Begin a 2-of-3 distributed key generation ceremony — the first step in provisioning a new MPC wallet. - [Register MPC Wallet](https://docs.aureahub.com/docs/mpc-wallet-register.md): POST /v1/mpc/wallets. Finalise a completed DKG ceremony — Aurea verifies the address against the relay record and persists the wallet. - [Start Aux Ceremony](https://docs.aureahub.com/docs/mpc-aux-start.md): POST /v1/mpc/wallets/{walletId}/aux/start. A CGGMP wallet's second ceremony, run once after the DKG and before the first signature. - [Start Signing Ceremony](https://docs.aureahub.com/docs/mpc-sign-start.md): POST /v1/mpc/wallets/{walletId}/sign/start. Open a threshold-signing session against an MPC wallet — for either the normal DEVICE+AUREA flow or BACKUP-based recovery. - [Service Token Bridge](https://docs.aureahub.com/docs/mpc-service-token.md): POST /v1/mpc/service/token. Exchange a first-party app session for a short-lived Hub JWT scoped to a single merchant — required to drive MPC ceremonies from a downstream product (e.g. aurea-pay). - [Relay: Join Session](https://docs.aureahub.com/docs/mpc-relay-join.md): POST /v1/mpc/relay/session/{id}/join. Announce a party (DEVICE / BACKUP / AUREA) into an MPC ceremony session. - [Relay: List Parties](https://docs.aureahub.com/docs/mpc-relay-parties.md): GET /v1/mpc/relay/session/{id}/parties. Poll the roster of parties that have joined an MPC ceremony — used to wait for the AUREA cosigner before starting the message loop. - [Relay: Post Message](https://docs.aureahub.com/docs/mpc-relay-msg.md): POST /v1/mpc/relay/session/{id}/msg. Forward a ceremony envelope to another party (or broadcast to all). - [Relay: Read Inbox](https://docs.aureahub.com/docs/mpc-relay-inbox.md): GET /v1/mpc/relay/session/{id}/inbox. Drain inbound ceremony envelopes for a given party. - [Relay: Get Message Hash](https://docs.aureahub.com/docs/mpc-relay-msghash.md): GET /v1/mpc/relay/session/{id}/msghash. Fetch the message-hash that the signing ceremony was opened against — used by a joining party to verify it is signing what it expects. - [Relay: Post Result](https://docs.aureahub.com/docs/mpc-relay-result.md): POST /v1/mpc/relay/session/{id}/result. Publish a party's final ceremony output (e.g. its signature share, or a "done" marker) into the session. - [Relay: Read Results](https://docs.aureahub.com/docs/mpc-relay-results.md): GET /v1/mpc/relay/session/{id}/results. Read the final outputs posted by each party — the last step in any MPC ceremony. ## API Reference: Transactions - [Create Transaction](https://docs.aureahub.com/docs/tx-create.md): POST /v1/transactions/. Send a native coin or a token from a wallet the authenticated user owns. - [Broadcast Transaction](https://docs.aureahub.com/docs/tx-broadcast.md): POST /v1/transactions/{id}/broadcast. Submit the client's signature for a non-custodial send so Aurea can put it on-chain. - [List Transactions](https://docs.aureahub.com/docs/tx-list.md): GET /v1/transactions/. Page through the authenticated user's blockchain transaction records, newest first. - [Get Transaction](https://docs.aureahub.com/docs/tx-get.md): GET /v1/transactions/{id}. Fetch one of the authenticated user's transaction records by ID. - [Get Tx Status](https://docs.aureahub.com/docs/tx-status.md): GET /v1/transactions/{id}/status. Check a transaction against the chain and get its current status and confirmation count. - [Transaction Quote](https://docs.aureahub.com/docs/tx-quote.md): POST /v1/transactions/quote. Estimate the network fee of a send, in the native coin and in EUR, before creating it. - [Get Aggregated Tx](https://docs.aureahub.com/docs/tx-aggregated-get.md): GET /v1/transactions/aggregated/{id}. Fetch a single item of the Unified Transaction Feed by its ID. ## API Reference: Operations - [List Operations](https://docs.aureahub.com/docs/operations-list.md): GET /v1/operations. The operations the money routes started, newest first, with their public state. - [Get an Operation](https://docs.aureahub.com/docs/operation-get.md): GET /v1/operations/{id}. One operation, with every state it passed, and what its signing points decoded, simulated and checked. - [Get by Your Own Id](https://docs.aureahub.com/docs/operation-by-external-id.md): GET /v1/operations/by-external-id/{externalTxId}. The operation your tenant named with its own id, `externalTxId`, with every state it passed. - [Get Its Approval](https://docs.aureahub.com/docs/operation-approval.md): GET /v1/operations/{id}/approval. For the operations a policy held: the approval request, its decisions, and — once approved and gone on — the answer the call would have given. - [Cancel](https://docs.aureahub.com/docs/operation-cancel.md): POST /v1/operations/{id}/cancel. Cancel one of your own operations while nothing of it was sent: what it prepared can no longer be broadcast. - [Speed Up](https://docs.aureahub.com/docs/operation-speed-up.md): POST /v1/operations/{id}/speed-up. Replace a custodial EVM transaction that was sent but is not mined with the same transaction, at the same nonce, for a higher fee. - [Drop](https://docs.aureahub.com/docs/operation-drop.md): POST /v1/operations/{id}/drop. Replace a custodial EVM transaction that was sent but is not mined with a 0-value transaction to the wallet itself, at the same nonce, for a higher fee — so that the original never goes through. ## API Reference: Fees & Addresses - [Estimate Fees](https://docs.aureahub.com/docs/fees-estimate.md): GET /v1/fees/estimate. LOW, MEDIUM and HIGH fee levels for one of your tenant's chains, from its recent fees. - [Most a Wallet Can Send](https://docs.aureahub.com/docs/wallet-max-spendable.md): GET /v1/wallets/{id}/max-spendable. For one of your own wallets: how much of an asset it can send at a fee level. - [Validate an Address](https://docs.aureahub.com/docs/address-validate.md): POST /v1/addresses/validate. Whether an address is well formed for a chain, its checksum, and what sits there. ## API Reference: Tokens - [List Tokens](https://docs.aureahub.com/docs/tokens-list.md): GET /v1/tokens/. List the tokens configured for your tenant, grouped by chain. - [Tokens by Chain](https://docs.aureahub.com/docs/tokens-by-chain.md): GET /v1/tokens/chain/{chain}. Retrieve all tokens available on a specific blockchain — ideal for populating swap and send forms after a chain is selected. - [Supported Chains](https://docs.aureahub.com/docs/tokens-chains.md): GET /v1/tokens/meta/chains. Retrieve the authoritative runtime list of chain identifiers enabled for your tenant. Aurea is cross-chain by design — any blockchain network or token in the market can be added upon request. ## API Reference: Swap - [Get Quote](https://docs.aureahub.com/docs/swap-quote.md): POST /v1/swap/quote. Step 1 of every swap — get a route from Aurea's swap router for a wallet, together with the `transactionData` you will execute. - [Check Allowance](https://docs.aureahub.com/docs/swap-allowance.md): POST /v1/swap/check-allowance. Read the on-chain ERC-20 allowance a wallet has granted to a spender — typically the `approvalAddress` from the quote. - [Approve Token](https://docs.aureahub.com/docs/swap-approve.md): POST /v1/swap/approve. Grant the swap spender — the quote's `approvalAddress` — an ERC-20 allowance on the source token. - [Execute Swap](https://docs.aureahub.com/docs/swap-execute.md): POST /v1/swap/execute. Run a quoted swap from a wallet — sent immediately for custodial wallets, prepared for client signing for non-custodial wallets. - [Simulate Swap](https://docs.aureahub.com/docs/swap-simulate.md): POST /v1/swap/simulate. Create a confirmed swap record without calling the swap router or any blockchain — for exercising swap UI and transaction-history flows. - [Execute Gasless](https://docs.aureahub.com/docs/swap-gasless.md): POST /v1/swap/execute-gasless. Swap EUR.e for native xDAI on Gnosis, with the token approval supplied as an ERC-2612 permit instead of an approve transaction. - [Broadcast Swap Tx](https://docs.aureahub.com/docs/swap-broadcast.md): POST /v1/swap/broadcast. Non-custodial EVM swaps, step 2 — submit the signature for the `txHashToSign` returned by Execute Swap. - [Sign EIP-712 Permit](https://docs.aureahub.com/docs/swap-sign-permit.md): POST /v1/swap/sign-permit. Gasless swaps, step 2 — Aurea produces the EUR.e ERC-2612 permit for the wallet and returns its signature components. - [Broadcast Approve Tx](https://docs.aureahub.com/docs/swap-broadcast-approve.md): POST /v1/swap/broadcast-approve. Non-custodial approvals, step 2 — submit the signature for the `txHashToSign` returned by Approve Token. - [Broadcast Gasless Tx](https://docs.aureahub.com/docs/swap-broadcast-gasless.md): POST /v1/swap/broadcast-gasless. Gasless swaps for non-custodial wallets — submit the signature for the `txHashToSign` returned by Execute Gasless. - [Execute Solana Swap](https://docs.aureahub.com/docs/swap-execute-solana.md): POST /v1/swap/execute-solana. Execute a quote whose source chain is Solana. This path is an alias of Execute Swap. ## API Reference: Bank Ramp: Pay-In - [Onboarding Status](https://docs.aureahub.com/docs/payin-status.md): GET /v1/ramp/bank/payin/onboarding-status. Check whether the user has completed the bank ramp's onboarding (KYC) and can start EUR deposits. - [Onboarding Session](https://docs.aureahub.com/docs/payin-session.md): POST /v1/ramp/bank/payin/onboard-session. Get a hosted onboarding (KYC) link for the user and send them there. - [Sync KYC Status](https://docs.aureahub.com/docs/payin-sync-status.md): POST /v1/ramp/bank/payin/sync-status. Pull the user's latest onboarding and KYC status from the bank ramp and store it — useful right after the user returns from the hosted onboarding. - [Currencies & Networks](https://docs.aureahub.com/docs/bank-currencies.md): GET /v1/ramp/bank/currencies. List the stablecoins and networks a user can receive from a bank deposit or sell for fiat, in the bank ramp's sandbox or in production. - [What Your Tenant Offers](https://docs.aureahub.com/docs/bank-settings.md): GET /v1/ramp/bank/settings. Read what your tenant offers its users with the bank ramp in one environment — which functions are on, where pay-ins go, which currencies and networks, and the fees — so your app shows only what will work. - [Open a Virtual Account](https://docs.aureahub.com/docs/payin-initiate.md): POST /v1/ramp/bank/payin/initiate. Assign the user a virtual IBAN: EUR bank transfers to it are converted by the bank ramp into crypto and sent to an on-chain address. - [Payment Methods](https://docs.aureahub.com/docs/payin-methods.md): GET /v1/ramp/bank/payin/payment-methods. List the virtual IBANs assigned to the user, with the crypto route each one converts deposits into. - [Deposits](https://docs.aureahub.com/docs/payin-deposits.md): GET /v1/ramp/bank/payin/deposits. List the EUR bank transfers the user has sent to their virtual IBANs. - [Transactions](https://docs.aureahub.com/docs/payin-transactions.md): GET /v1/ramp/bank/payin/transactions. Retrieve the bank ramp transactions — conversions, on-chain deliveries, payouts and reversals — Aurea has recorded for the user, with the deposit that paid for them. ## API Reference: Bank Ramp: Proven Addresses - [Ask for a Challenge](https://docs.aureahub.com/docs/bank-address-challenge.md): POST /v1/ramp/bank/addresses/challenge. Get the message a user signs to prove they control an address outside Aurea — the first step of the standalone mode. - [Verify an Address](https://docs.aureahub.com/docs/bank-address-verify.md): POST /v1/ramp/bank/addresses/verify. Send the signed challenge: a valid signature proves the address, and pay-ins can be delivered to it. - [List Addresses](https://docs.aureahub.com/docs/bank-addresses-list.md): GET /v1/ramp/bank/addresses. The addresses outside Aurea that the user proved in one environment and still holds. - [Revoke an Address](https://docs.aureahub.com/docs/bank-address-revoke.md): DELETE /v1/ramp/bank/addresses/{id}. Stop using an address the user proved: no new virtual IBAN can deliver to it. ## API Reference: Bank Ramp: Payout - [Countries](https://docs.aureahub.com/docs/payout-countries.md): GET /v1/ramp/bank/payout/countries. The countries where the bank ramp can pay out to the user, each with the fiat currencies it pays in. - [Search Channels](https://docs.aureahub.com/docs/payout-channels.md): POST /v1/ramp/bank/payout/channels/search. The ways the bank ramp can pay out a cryptocurrency as fiat to a country and currency: fees, limits, processing time, the details the beneficiary needs and the user's saved accounts. - [Channel Form](https://docs.aureahub.com/docs/payout-channel-form.md): POST /v1/ramp/bank/payout/channels/{channelId}/form. The beneficiary details a channel needs, as a JSON Schema to render or fill in. - [Saved Beneficiaries](https://docs.aureahub.com/docs/payout-beneficiaries.md): GET /v1/ramp/bank/payout/beneficiaries. The bank accounts and other payment methods the user can be paid out to, read live from the bank ramp. - [Create a Quote](https://docs.aureahub.com/docs/payout-quote.md): POST /v1/ramp/bank/payout/quotes. Price a payout to a bank account with the bank ramp: fees, the amount the beneficiary receives, the rate, and a quote that locks them. - [Answer a Form Step](https://docs.aureahub.com/docs/payout-quote-step.md): POST /v1/ramp/bank/payout/quotes/{quoteId}/steps. Send the bank ramp the answers to the step a payout quote is waiting for, and get the next step or the ready quote. - [Get a Quote](https://docs.aureahub.com/docs/payout-quote-get.md): GET /v1/ramp/bank/payout/quotes/{quoteId}. Read a payout quote as Aurea keeps it, without asking the bank ramp. - [Pay from a Wallet](https://docs.aureahub.com/docs/payout-wallet-pay.md): POST /v1/ramp/bank/payout/payouts. Bind a payout quote whose rate is locked to a bank ramp payout rule, and get the deposit the user's own wallet must send. - [List Wallet Payouts](https://docs.aureahub.com/docs/payout-wallet-list.md): GET /v1/ramp/bank/payout/payouts. The user's payouts paid from their own wallet, newest first, in one environment. - [Get a Wallet Payout](https://docs.aureahub.com/docs/payout-wallet-get.md): GET /v1/ramp/bank/payout/payouts/{payoutId}. Read one payout paid from the user's own wallet, as Aurea keeps it, without asking the bank ramp. - [Initiate Payout](https://docs.aureahub.com/docs/payout-initiate.md): POST /v1/ramp/bank/payout/initiate. Create a hosted payout in the bank ramp's sandbox: the user picks a bank account on the hosted page and receives fiat for the crypto amount you specify. Production payouts are currently refused. - [List Transactions](https://docs.aureahub.com/docs/payout-list.md): GET /v1/ramp/bank/payout/transactions. Retrieve the authenticated user's fiat payouts, page by page. - [Get Transaction](https://docs.aureahub.com/docs/payout-get.md): GET /v1/ramp/bank/payout/transactions/{id}. Fetch one of the user's payouts and its current status. ## API Reference: Card Onramp - [Configuration](https://docs.aureahub.com/docs/card-onramp-config.md): GET /v1/ramp/card/config. Whether the user's tenant offers card-to-crypto in an environment, and what the app needs to offer it. - [Quotes](https://docs.aureahub.com/docs/card-onramp-quotes.md): GET /v1/ramp/card/quotes. the price for the pairs your tenant offers, before the widget opens. - [Open a Session](https://docs.aureahub.com/docs/card-onramp-create.md): POST /v1/ramp/card/sessions. A card onramp session that delivers crypto to one of the user's wallets, and the client secret that opens the payment widget. - [Get a Session](https://docs.aureahub.com/docs/card-onramp-get.md): GET /v1/ramp/card/sessions/{id}. One of the user's sessions, as the payment provider sees it now. - [List Sessions](https://docs.aureahub.com/docs/card-onramp-list.md): GET /v1/ramp/card/sessions. The user's sessions in one environment, newest first. - [Hosted Page Link](https://docs.aureahub.com/docs/card-onramp-hosted-link.md): POST /v1/ramp/card/sessions/{id}/hosted-link. A link to Aurea's hosted page for one of the user's open sessions, for an app with no web page of its own. - [Hosted Page Read](https://docs.aureahub.com/docs/card-onramp-hosted-session.md): POST /v1/ramp/card/hosted/session. What the hosted page reads with its link's token. The page calls it itself; your app never needs to. - [Address Challenge](https://docs.aureahub.com/docs/card-onramp-address-challenge.md): POST /v1/ramp/card/addresses/challenge. The message a user signs to prove they control an address the onramp may deliver to. - [Verify an Address](https://docs.aureahub.com/docs/card-onramp-address-verify.md): POST /v1/ramp/card/addresses/verify. Keep the address a signed challenge proves. - [Proven Addresses](https://docs.aureahub.com/docs/card-onramp-addresses.md): GET /v1/ramp/card/addresses. The addresses the user proved in one environment and still holds. - [Revoke an Address](https://docs.aureahub.com/docs/card-onramp-address-revoke.md): DELETE /v1/ramp/card/addresses/{id}. Stop using an address the user proved. ## API Reference: Card Onramp: Your Wallets - [Name an End User](https://docs.aureahub.com/docs/card-wallets-customer-put.md): PUT /v1/ramp/card/customers/{externalId}. Make, or read, one of your end users by your own id. Optional: the wallet and purchase calls make the end user too. - [Get an End User](https://docs.aureahub.com/docs/card-wallets-customer-get.md): GET /v1/ramp/card/customers/{externalId}. One of your end users and the wallets you attested for it, in both environments. - [Attest a Default Wallet](https://docs.aureahub.com/docs/card-wallets-wallet-put.md): PUT /v1/ramp/card/customers/{externalId}/wallets/{family}. The wallet a purchase of that family uses when it names no address, in one environment. - [Revoke a Default Wallet](https://docs.aureahub.com/docs/card-wallets-wallet-delete.md): DELETE /v1/ramp/card/customers/{externalId}/wallets/{family}. Stop using the end user's default wallet of one family in one environment. - [Open a Purchase](https://docs.aureahub.com/docs/card-wallets-session-create.md): POST /v1/ramp/card/customers/{externalId}/sessions. A card purchase for your end user, to the wallet the call names or to its default wallet of the pair's family. - [List Purchases](https://docs.aureahub.com/docs/card-wallets-sessions-list.md): GET /v1/ramp/card/customers/{externalId}/sessions. The end user's purchases in one environment, newest first. - [Get a Purchase](https://docs.aureahub.com/docs/card-wallets-session-get.md): GET /v1/ramp/card/customers/{externalId}/sessions/{id}. One of the end user's purchases as it stands now. ## API Reference: Earn - [Products](https://docs.aureahub.com/docs/earn-products.md): GET /v1/earn/products. The Earn products your tenant offers on a network, each with its state and rate on every chain it is on. - [Disclosure](https://docs.aureahub.com/docs/earn-disclosure.md): GET /v1/earn/products/{productId}/disclosure. The text the user reads, and accepts, before their first deposit into a product. - [Accept a Disclosure](https://docs.aureahub.com/docs/earn-disclosure-accept.md): POST /v1/earn/products/{productId}/disclosure/acceptances. Records that the user accepted the disclosure they were shown. - [Quote](https://docs.aureahub.com/docs/earn-quote.md): GET /v1/earn/quote. What a deposit or a withdrawal would do, before the user commits to it. - [Deposit](https://docs.aureahub.com/docs/earn-deposit.md): POST /v1/earn/deposits. Deposits an amount of the product's asset from one of the user's wallets. - [Withdraw](https://docs.aureahub.com/docs/earn-withdraw.md): POST /v1/earn/withdrawals. Withdraws an amount, or the whole position, to the wallet the position is held by. - [Send Signatures](https://docs.aureahub.com/docs/earn-broadcast.md): POST /v1/earn/operations/{operationId}/broadcast. The client's signatures of an operation answered `submitted`; Aurea sends the steps exactly as it built them. - [List Operations](https://docs.aureahub.com/docs/earn-operations.md): GET /v1/earn/operations. The user's deposits and withdrawals on a network, newest first. - [Get an Operation](https://docs.aureahub.com/docs/earn-operation-get.md): GET /v1/earn/operations/{operationId}. One of the user's operations, brought up to date first. - [Positions](https://docs.aureahub.com/docs/earn-positions.md): GET /v1/earn/positions. What the user holds in the Earn products, read from the chain. ## API Reference: Your Webhooks - [List Webhooks](https://docs.aureahub.com/docs/tenant-webhooks-list.md): GET /v1/admin/tenants/{id}/webhooks. The webhooks that tell your server about bank ramp and card onramp events, one per environment, without their secrets. - [Save a Webhook](https://docs.aureahub.com/docs/tenant-webhook-save.md): PUT /v1/admin/tenants/{id}/webhooks/{environment}. Make or change the webhook of one environment. The secret is shown when the webhook is made, and never again. - [Replace the Secret](https://docs.aureahub.com/docs/tenant-webhook-rotate.md): POST /v1/admin/tenants/{id}/webhooks/{environment}/rotate-secret. A new secret for the webhook of one environment, shown once. It signs every delivery from now on. - [Send a Test](https://docs.aureahub.com/docs/tenant-webhook-test.md): POST /v1/admin/tenants/{id}/webhooks/{environment}/test. One signed `webhook.test` to the webhook of one environment, right now, with what happened. - [Remove a Webhook](https://docs.aureahub.com/docs/tenant-webhook-remove.md): DELETE /v1/admin/tenants/{id}/webhooks/{environment}. Stop telling your server about bank ramp and card onramp events in one environment. ## API Reference: Webhook Endpoints - [List Endpoints](https://docs.aureahub.com/docs/webhook-endpoints-list.md): GET /v1/admin/tenants/{id}/webhook-endpoints. Your tenant's webhook endpoints, without their secrets, and every event type an endpoint may ask for. - [Add an Endpoint](https://docs.aureahub.com/docs/webhook-endpoint-add.md): POST /v1/admin/tenants/{id}/webhook-endpoints. One more address for your tenant's events in one environment, with the event types it asks for. Its secret is shown in this answer, and never again. - [Change an Endpoint](https://docs.aureahub.com/docs/webhook-endpoint-change.md): PATCH /v1/admin/tenants/{id}/webhook-endpoints/{endpointId}. Its address, its event types, its label or its status. The rest stays, and so does the secret. - [Endpoint: New Secret](https://docs.aureahub.com/docs/webhook-endpoint-rotate.md): POST /v1/admin/tenants/{id}/webhook-endpoints/{endpointId}/rotate-secret. A new secret for one endpoint, shown once. It signs every delivery to that endpoint from now on. - [Endpoint: Send a Test](https://docs.aureahub.com/docs/webhook-endpoint-test.md): POST /v1/admin/tenants/{id}/webhook-endpoints/{endpointId}/test. One signed `webhook.test` to one endpoint, right now, with what happened. - [Remove an Endpoint](https://docs.aureahub.com/docs/webhook-endpoint-remove.md): DELETE /v1/admin/tenants/{id}/webhook-endpoints/{endpointId}. Stop sending events to one endpoint, for good. - [List Deliveries](https://docs.aureahub.com/docs/webhook-deliveries-list.md): GET /v1/admin/tenants/{id}/webhook-deliveries. What Aurea sent, or is sending, to your tenant's addresses: one row per event and address, newest first. - [Attempts Log](https://docs.aureahub.com/docs/webhook-attempts-list.md): GET /v1/admin/tenants/{id}/webhook-attempts. Every attempt Aurea made to post a delivery to your tenant's addresses: when, how long, and what your server answered — or why no answer came. - [Send Again](https://docs.aureahub.com/docs/webhook-deliveries-resend.md): POST /v1/admin/tenants/{id}/webhook-deliveries/resend. Put your tenant's deliveries back in the queue with a fresh set of attempts: one event's, those of a time range, or every one that failed. - [Signing Keys (JWKS)](https://docs.aureahub.com/docs/webhook-jwks.md): GET /v1/webhooks/jwks.json. The public keys that verify the `X-Webhook-Jws` header of Aurea's deliveries to your servers. ## API Reference: Audit Trail - [List Audit Events](https://docs.aureahub.com/docs/audit-events.md): GET /v1/audit-events. What was done to your tenant's money, keys, governance, security, settings and access, by whom and on what — newest first. ## API Reference: Security Posture - [Get Security Posture](https://docs.aureahub.com/docs/security-posture.md): GET /v1/security-posture. What protects your tenant now, in one read: its administrators and their second factor, the quorums, its security profile, where its keys are kept, the platform's last verified backup, its server credentials and its active freezes. ## API Reference: Server Credentials - [List Credentials](https://docs.aureahub.com/docs/server-credentials-list.md): GET /v1/admin/tenants/{id}/server-credentials. Your tenant's server credentials, newest first — active, expired and revoked. - [Register a Credential](https://docs.aureahub.com/docs/server-credential-create.md): POST /v1/admin/tenants/{id}/server-credentials. Register the public key of a key pair your server holds. Its tokens are accepted from the moment this answers. - [Change a Credential](https://docs.aureahub.com/docs/server-credential-update.md): PATCH /v1/admin/tenants/{id}/server-credentials/{credentialId}. Its name, role, allow-list or expiry. The key never changes: a new key is a new credential. - [Revoke a Credential](https://docs.aureahub.com/docs/server-credential-revoke.md): POST /v1/admin/tenants/{id}/server-credentials/{credentialId}/revoke. For good, and at once: its next token is refused, the credential never changes again, and your endpoints that ask for it are told. ## API Reference: Freezes & Quarantines - [Freeze](https://docs.aureahub.com/docs/freezes-create.md): POST /v1/admin/tenants/{id}/freezes. Stop one of your tenant's users, one of its wallets, or the wallets of one of its accounts, on every server, from the moment this answers. - [List Freezes](https://docs.aureahub.com/docs/freezes-list.md): GET /v1/admin/tenants/{id}/freezes. Your tenant's freezes, newest first — the tenant's own included, if Aurea placed one. - [Lift a Freeze](https://docs.aureahub.com/docs/freeze-lift.md): POST /v1/admin/tenants/{id}/freezes/{freezeId}/lift. Let a frozen user, wallet or account act again, on every server, from the moment this answers. - [Quarantine](https://docs.aureahub.com/docs/quarantines-create.md): POST /v1/admin/tenants/{id}/quarantines. Hold one pending operation of your tenant before anything of it is signed or sent, until the quarantine is lifted. - [List Quarantines](https://docs.aureahub.com/docs/quarantines-list.md): GET /v1/admin/tenants/{id}/quarantines. Your tenant's quarantined operations, newest first. - [Lift a Quarantine](https://docs.aureahub.com/docs/quarantine-lift.md): POST /v1/admin/tenants/{id}/quarantines/{quarantineId}/lift. Let a quarantined operation go on from where it waited. ## API Reference: Policy Sets - [List Policy Sets](https://docs.aureahub.com/docs/policy-sets-list.md): GET /v1/policy-sets. Your tenant's policy sets — each a version of its signing policy — newest first, without their rules. - [Create a Draft](https://docs.aureahub.com/docs/policy-set-create.md): POST /v1/policy-sets. A new draft, the tenant's next version: empty, with the rules you give, or a copy of any version's rules. - [Get a Policy Set](https://docs.aureahub.com/docs/policy-set-get.md): GET /v1/policy-sets/{setId}. One version with its rules, in the order they are evaluated. - [Replace Rules](https://docs.aureahub.com/docs/policy-set-rules.md): PUT /v1/policy-sets/{setId}/rules. The draft's rules, replaced by these, in their order. - [Validate](https://docs.aureahub.com/docs/policy-set-validate.md): POST /v1/policy-sets/{setId}/validate. Errors that stop a submission, and warnings that don't. Changes nothing. - [Simulate](https://docs.aureahub.com/docs/policy-set-simulate.md): POST /v1/policy-sets/{setId}/simulate. What a set would have decided on your tenant's past operations, at each operation's own time. Changes nothing. - [Submit](https://docs.aureahub.com/docs/policy-set-submit.md): POST /v1/policy-sets/{setId}/submit. `draft` → `awaiting_quorum`, once valid. From then on the version never changes. - [Publish](https://docs.aureahub.com/docs/policy-set-publish.md): POST /v1/policy-sets/{setId}/publish. `awaiting_quorum` → `active`: the set becomes the tenant's policy, and the one it replaces is archived. - [Withdraw](https://docs.aureahub.com/docs/policy-set-archive.md): POST /v1/policy-sets/{setId}/archive. A draft, or a set awaiting its quorum, → `archived`. - [Roll Back](https://docs.aureahub.com/docs/policy-set-rollback.md): POST /v1/policy-sets/{setId}/rollback. Publish a version that was once active again, as a new version. ## API Reference: Approvals - [List Approval Keys](https://docs.aureahub.com/docs/approval-keys-list.md): GET /v1/approval-keys. The public keys you sign your approvals with, newest first — revoked ones included. - [Register a Key](https://docs.aureahub.com/docs/approval-key-register.md): POST /v1/approval-keys. The public half of a P-256 key pair you made: the key your approvals are checked with. The private key stays with you. - [Revoke a Key](https://docs.aureahub.com/docs/approval-key-revoke.md): POST /v1/approval-keys/{keyId}/revoke. For good: decisions signed with it are refused from now on. - [Waiting for You](https://docs.aureahub.com/docs/approvals-inbox.md): GET /v1/approvals. The approval requests you may decide now, newest first. - [Get a Request](https://docs.aureahub.com/docs/approval-get.md): GET /v1/approvals/{operationId}. An operation's approval request, its decisions, whether you may decide it now, and the two payloads a decision signs. - [Approve](https://docs.aureahub.com/docs/approval-approve.md): POST /v1/approvals/{operationId}/approve. Your approval, signed with one of your approval keys. Once the rule's threshold of distinct approvers approved, the operation goes on. - [Reject](https://docs.aureahub.com/docs/approval-reject.md): POST /v1/approvals/{operationId}/reject. Your rejection, signed with one of your approval keys. One rejection ends the request: nothing is signed or sent. ## API Reference: Groups - [List Groups](https://docs.aureahub.com/docs/groups-list.md): GET /v1/groups. Your tenant's groups, by name, with how many members each has. - [Create a Group](https://docs.aureahub.com/docs/group-create.md): POST /v1/groups. A new group of your tenant's users, empty: add its members next. - [Get a Group](https://docs.aureahub.com/docs/group-get.md): GET /v1/groups/{groupId}. One group and its members. - [Change a Group](https://docs.aureahub.com/docs/group-update.md): PATCH /v1/groups/{groupId}. Rename a group or change its description. Its id — what your rules name — stays. - [Delete a Group](https://docs.aureahub.com/docs/group-delete.md): DELETE /v1/groups/{groupId}. The group and its memberships. A rule that names it then names no one by it. - [Add a Member](https://docs.aureahub.com/docs/group-member-add.md): POST /v1/groups/{groupId}/members. One of your tenant's users joins the group. - [Remove a Member](https://docs.aureahub.com/docs/group-member-remove.md): DELETE /v1/groups/{groupId}/members/{userId}. The user leaves the group; the account stays as it is. ## API Reference: Address Book - [List Entries](https://docs.aureahub.com/docs/address-book-entries-list.md): GET /v1/address-book/entries. Your tenant's address book, newest first, filtered as you ask. - [Add an Entry](https://docs.aureahub.com/docs/address-book-entry-add.md): POST /v1/address-book/entries. A new entry, pending its approval: one of your wallets, someone else's address, or a contract. - [Get an Entry](https://docs.aureahub.com/docs/address-book-entry-get.md): GET /v1/address-book/entries/{entryId}. One entry, with everything that happened to it. - [Change an Entry](https://docs.aureahub.com/docs/address-book-entry-change.md): PATCH /v1/address-book/entries/{entryId}. Its label, tags and reference change at once. A new address sends it back to its approval. - [Remove an Entry](https://docs.aureahub.com/docs/address-book-entry-remove.md): DELETE /v1/address-book/entries/{entryId}. Removed at once, whatever its state: no operation can send to it any more. - [Approve an Entry](https://docs.aureahub.com/docs/address-book-entry-approve.md): POST /v1/address-book/entries/{entryId}/approve. The entry starts its cooling period, and is active when it ends. - [Reject an Entry](https://docs.aureahub.com/docs/address-book-entry-reject.md): POST /v1/address-book/entries/{entryId}/reject. The entry is refused, for good. - [Ownership Challenge](https://docs.aureahub.com/docs/address-book-proof-challenge.md): POST /v1/address-book/entries/{entryId}/proof/challenge. The message an external address's owner signs to prove they hold it. - [Prove Ownership](https://docs.aureahub.com/docs/address-book-proof-verify.md): POST /v1/address-book/entries/{entryId}/proof/verify. The owner's signature over one of the entry's challenges: the entry is proven. - [Settings](https://docs.aureahub.com/docs/address-book-settings-get.md): GET /v1/address-book/settings. Your cooling period, whether external addresses are proven first, whether one-time addresses are allowed — and what your signing points do with the book. - [Change the Settings](https://docs.aureahub.com/docs/address-book-settings-put.md): PUT /v1/address-book/settings. Raise a protection at once; lower one through an approval. - [Setting Changes](https://docs.aureahub.com/docs/address-book-changes-list.md): GET /v1/address-book/settings/changes. Every change of the address book's settings asked for, newest first. - [Approve a Change](https://docs.aureahub.com/docs/address-book-change-approve.md): POST /v1/address-book/settings/changes/{changeId}/approve. The change waiting for its approval is applied. - [Reject a Change](https://docs.aureahub.com/docs/address-book-change-reject.md): POST /v1/address-book/settings/changes/{changeId}/reject. The change waiting for its approval is refused — or withdrawn, by who asked for it. ## API Reference: Quorum - [List Requests](https://docs.aureahub.com/docs/quorum-requests-list.md): GET /v1/quorum/requests. Your administrators' covered actions — held for another administrator, or only recorded — newest first. - [Get a Request](https://docs.aureahub.com/docs/quorum-request-get.md): GET /v1/quorum/requests/{id}. One request, with its decisions. - [Approve](https://docs.aureahub.com/docs/quorum-request-approve.md): POST /v1/quorum/requests/{id}/approve. Another administrator's held action, approved with your password: it runs now. - [Reject](https://docs.aureahub.com/docs/quorum-request-reject.md): POST /v1/quorum/requests/{id}/reject. Another administrator's held action, refused with your password: nothing runs. - [Cancel](https://docs.aureahub.com/docs/quorum-request-cancel.md): POST /v1/quorum/requests/{id}/cancel. Take back an action you asked for, before anyone decides it. - [Read the Answer](https://docs.aureahub.com/docs/quorum-request-result.md): POST /v1/quorum/requests/{id}/result. What your held action answered when it ran after its approval — once. ## API Reference: Aggregated Transactions - [Unified Feed](https://docs.aureahub.com/docs/agg-tx-list.md): GET /v1/transactions/aggregated/. One paginated, date-sorted list of the user's blockchain transactions, bank ramp fiat activity and card purchases of crypto. ## API Reference: Notifications - [Register Device](https://docs.aureahub.com/docs/notif-register.md): POST /v1/notifications/device-token. Register a Firebase Cloud Messaging (FCM) token so the user's device receives Aurea's push notifications. - [Unregister Device](https://docs.aureahub.com/docs/notif-unregister.md): DELETE /v1/notifications/device-token. Remove a device's FCM token so it stops receiving push notifications. - [Get Inbox](https://docs.aureahub.com/docs/notif-inbox.md): GET /v1/notifications/inbox. Fetch the authenticated user's in-app notification inbox, newest first. - [Unread Count](https://docs.aureahub.com/docs/notif-inbox-unread.md): GET /v1/notifications/inbox/unread-count. Return the count of unread notifications for the authenticated user. - [Mark as Read](https://docs.aureahub.com/docs/notif-inbox-read.md): PATCH /v1/notifications/inbox/read. Mark one or more inbox notifications as read, or mark all at once. ## API Reference: DApps - [List DApps](https://docs.aureahub.com/docs/dapps-list.md): GET /v1/dapps/. Retrieve the dApp catalogue configured for the authenticated user's tenant — the entries to show in an in-app dApp browser. - [Get Nonce](https://docs.aureahub.com/docs/dapps-nonce.md): GET /v1/dapps/nonce. Get the next pending transaction nonce of an EVM address — used when building a transaction requested by a dApp. - [Estimate Gas](https://docs.aureahub.com/docs/dapps-gas.md): GET /v1/dapps/estimate-gas. Estimate the gas limit of an EVM transaction on a given chain, with a 20% safety buffer applied. - [Sign Personal Message](https://docs.aureahub.com/docs/dapps-sign.md): POST /v1/dapps/sign-personal-message. Handle a dApp's `personal_sign` (EIP-191) request. Custodial wallets are signed server-side; wallets without a server-held key get the digest back to sign on the client. - [Broadcast Transaction](https://docs.aureahub.com/docs/dapps-broadcast.md): POST /v1/dapps/broadcast. Relay an already-signed raw EVM transaction to the RPC node of the given chain. ## API Reference: Portfolio - [Portfolio Performance](https://docs.aureahub.com/docs/portfolio-perf.md): GET /v1/portfolio/performance. Daily EUR and USD totals of the user's portfolio over a period, with the change between the first and last day. ## API Reference: Swap Routes - [List Routes](https://docs.aureahub.com/docs/swap-routes-list.md): GET /v1/swap/routes. Get the destination chains and tokens configured for a source token — use it to populate the "To" selector of a swap UI. ## API Reference: Sandbox - [Simulate Deposit](https://docs.aureahub.com/docs/sandbox-deposit.md): POST /v1/ramp/bank/payin/sandbox/simulate-deposit. Ask the bank ramp's sandbox to simulate a bank transfer to a sandbox virtual account, in that account's own currency, to test your pay-in flow without real money. - [Simulate Payout](https://docs.aureahub.com/docs/sandbox-payout.md): POST /v1/ramp/bank/payout/sandbox/simulate. Move one of the user's payouts to `completed` or `failed` without the bank ramp, to test your payout screens.