Update internal account
Update mutable fields on an internal account. Today this supports updating the wallet privacy setting for an Embedded Wallet internal account.
Updating wallet privacy is a two-step signed-retry flow:
-
Call
PATCH /internal-accounts/{id}with the request body{ "privateEnabled": true }and no signature headers. Grid returns202withpayloadToSign,requestId, andexpiresAt. -
Use the session API keypair of a verified authentication credential on the same internal account to build an API-key stamp over
payloadToSign, then retry with that full stamp as theGrid-Wallet-Signatureheader and therequestIdechoed back as theRequest-Idheader. The retry body must carry the same update fields submitted in step 1. The signed retry returns200with the updated internal account.
Documentation Index
Fetch the complete documentation index at: https://ramps-05-22-docs-annotate-cards-intro-snippet-triggers-mint.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
API token authentication using format <api token id>:<api client secret>
Headers
Full API-key stamp built over the prior payloadToSign with the session API keypair of a verified authentication credential on the target internal account. Required on the signed retry; ignored on the initial call.
The requestId returned in a prior 202 response, echoed back on the signed retry so the server can correlate it with the issued challenge. Required on the signed retry; must be paired with Grid-Wallet-Signature.
Path Parameters
The id of the internal account to update.
Body
Partial request body for PATCH /internal-accounts/{id}. At least one update field must be provided. On step 1 of the signed-retry flow Grid binds the submitted update fields into payloadToSign; on step 2 the client echoes the same fields back and Grid applies the update to the internal account.
Whether wallet privacy should be enabled for the Embedded Wallet.
true
Response
Signed retry accepted. Returns the updated internal account.
The ID of the internal account
"InternalAccount:12dcbd6-dced-4ec4-b756-3c3a9ea3d123"
Classification of an internal account.
INTERNAL_FIAT: A Grid-managed fiat holding account (for example, the USD holding account used as the source for Payouts flows).INTERNAL_CRYPTO: A Grid-managed crypto holding account denominated in a stablecoin such as USDC.EMBEDDED_WALLET: A self-custodial Embedded Wallet provisioned for the customer. Outbound transfers require a session signature produced by the customer's device — see the Embedded Wallets guide.
INTERNAL_FIAT, INTERNAL_CRYPTO, EMBEDDED_WALLET Status of a Grid internal account. The status determines whether the account can send or receive payments.
PENDING: The account is under review and is being provisioned. The account cannot send or receive payments until provisioning completes.ACTIVE: The account is ready to send and receive payments.CLOSED: The account cannot send or receive payments. A customer can initiate the closing of an internal account, after which the account transitions to this status.FROZEN: The account cannot send or receive payments. Grid may freeze an account in response to compliance or fraud signals; payments are blocked while the account remains frozen.
PENDING, ACTIVE, CLOSED, FROZEN "ACTIVE"
Payment instructions for funding the account
Timestamp when the internal account was created
"2025-10-03T12:30:00Z"
Timestamp when the internal account was last updated
"2025-10-03T12:30:00Z"
The ID of the customer associated with the internal account. If this field is empty, the internal account belongs to the platform.
"Customer:019542f5-b3e7-1d02-0000-000000000001"
Whether wallet privacy is enabled for the Embedded Wallet. Only present for EMBEDDED_WALLET internal accounts.
true