For the complete documentation index, see llms.txt. This page is also available as Markdown.

Embedded accounts

Moon Supports Embedded Account Endpoint for Seamless Integration with Existing Authentication Solutions

Moon supports an embedded account endpoint that allows users to create sub-accounts and associate wallets with those accounts. This endpoint enables seamless integration with existing authentication solutions, allowing developers to create sub-accounts for their users and associate wallets with those accounts.

Using the Embedded Account Endpoint

To use the embedded account endpoint, send a POST request to the /client endpoint of the Moon API. The request should include the following headers and payload:

  • Headers:

    • Authorization: A valid API token or OAuth2 access token.

    • Content-Type: application/json

  • Payload:

    • name: A unique name for the sub-account.

    • metadata: Optional metadata for the sub-account.

Here's an example of how to use the embedded account endpoint using the fetch API:

async function createEmbeddedAccount(email, domain, userId) {
  const url = 'https://beta.usemoon.ai/client';
  const headers = {
    'X-API-KEY': 'YOUR_API_TOKEN',
    'Content-Type': 'application/json',
  };
  const body = JSON.stringify({
    name: email,
    metadata: {
      from: domain,
      user: userId,
    },
  });
  const requestOptions = {
    method: 'POST',
    headers: headers,
    body: body,
    redirect: 'follow',
  };

  try {
    const response = await fetch(url, requestOptions);
    const result = await response.text();
    console.log(result);
  } catch (error) {
    console.error(error);
  }
}
createEmbeddedAccount('user@example.com', 'mydomain.com', '1234567890');

In this example, the fetch API is used to send a POST request to the /client endpoint of the Moon API. The request includes the Authorization header, which is set to a valid API token or OAuth2 access token. The request also includes the Content-Type header, which is set to application/json. The payload of the request is a JSON object that includes the name and metadata properties for the sub-account.

The response from the API will include the details of the newly created sub-account, including its unique ID and the associated wallets.

Benefits of Using the Embedded Account Endpoint

Using the embedded account endpoint provides the following benefits:

  • Seamless integration with existing authentication solutions: The embedded account endpoint enables seamless integration with existing authentication solutions, allowing developers to create sub-accounts for their users and associate wallets with those accounts.

  • Fine-grained access control: The embedded account endpoint allows for fine-grained access control, enabling developers to restrict access to specific resources or actions for individual sub-accounts.

  • Scalability: The embedded account endpoint enables scalability, allowing developers to create and manage multiple sub-accounts for their users as their application grows.

Conclusion

The embedded account endpoint is a powerful feature that enables seamless integration with existing authentication solutions. By using the embedded account endpoint, developers can create sub-accounts for their users and associate wallets with those accounts, providing fine-grained access control and scalability. Whether you're building a new application or integrating Moon into an existing one, the embedded account endpoint is a valuable tool that can help you meet your users' needs.

Last updated